在断开与服务器的连接之前,如何成为远程服务器上的root用户?

时间:2014-06-04 16:36:51

标签: linux bash shell scripting suse

到目前为止,我有这个:

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

2 个答案:

答案 0 :(得分:0)

sshpass -p "password" ssh -q username@192.168.167.654 exec sudo -s << "END"
  whoami
  commands to run
END

答案 1 :(得分:0)

你可以尝试这样的事情(未经测试) 但我使用相同的概念来完成类似的任务。

scp FileWithCommands.sh UserName@Hostname:/tmp
ssh Username@HostName "su -s -c /tmp/FileWithCommands.sh"