【发布时间】:2014-07-25 10:14:39
【问题描述】:
到目前为止,我有这个:
sshpass -p "password" ssh -q username@192.168.167.654 " [ "$(whoami)" != "root" ] && exec sudo -- "$0" "$@" ; whoami ; [run some commands as root]"
我一直给我用户名作为 whoami 的回答。我想在连接到服务器后立即成为 root(但我只能使用用户名连接到它)。在与服务器的整个连接过程中,我如何才能成为 root?
澄清:
我想访问远程服务器。我必须以“用户名”身份连接,然后切换到 root 以运行和复制只有 root 才能执行的文件。因此,当我通过 ssh 连接到该服务器时,我想成为 root,直到我的命令在远程服务器中结束。我的问题是我不能这样做,因为我没有知识,因此我在这里发布。
限制:
-不能使用 rsync。
-必须以“用户名”连接到服务器,然后切换到root
【问题讨论】:
-
这不是您的问题的正确站点/社区。试试serverfault.com
-
谢谢,会发到这里
-
我认为这是关于编程,特别是如何通过 ssh 以编程方式提升权限。
-
我不知道它是否必须在 bash 中。但是你可以看看fabric这是我用来在远程服务器上以用户或root身份执行的东西(这是用python编写的)
-
你能在连接后执行“su -”命令吗(需要root密码)-只要终端打开,你就可以root
标签: linux bash shell scripting suse