到目前为止,我有这个:
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
答案 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"