I want to run multiple commands automatically like sudo bash, ssh server01, ls , cd /tmp etc at server login.. I am using Remote command option under SSH in putty.
I tried multiple commands with delimiter && but not working.
I want to run multiple commands automatically like sudo bash, ssh server01, ls , cd /tmp etc at server login.. I am using Remote command option under SSH in putty.
I tried multiple commands with delimiter && but not working.
您的问题中缺少一些信息。
你说你要跑sudo bash
的话ssh server01
。
sudo 会在您的远程服务器中提示输入密码吗?
假设 sudo 中没有密码,运行 bash 将打开另一个 shell 等待用户输入。在退出该 bash shell 之前,该命令ssh server01
不会运行。
如果要运行 2 个命令,请先尝试更简单的命令,例如:
ls -l /tmp ; echo "hi there"
或者,如果您愿意:
ls -l /tmp && echo "hi there"
这行得通吗?
如果您想要在运行 bash 后运行 ssh,您可以尝试:
sudo bash -c "ssh server01"
那可能是因为命令应该是程序名后跟参数,将直接传递给程序。为了获取&&
命令行解释器提供的其他功能,例如bash
,试试这个:
/bin/bash -c "command1 && command2"
我尝试了我在之前的回答中提出的建议。
可以在 putty 中运行 2 个简单的命令,用分号分隔。在我的示例中,我尝试使用 ls 和 echo。远程服务器运行它们,然后会话关闭。
我还尝试通过 ssh 连接到配置为不要求输入密码的远程服务器。在这种情况下,它也可以工作,我连接到第二台服务器,我可以在上面运行命令。退出后,2 个连接将关闭。
所以,请让我们知道您真正需要/想要什么。
您可以使用常规 shell 语法在 PuTTY 中执行两个连续的命令。例如使用;
或&&
。
但是你想ssh server01
在sudo bash
shell 中执行,对吧?
这些不是两个连续的命令,它是ssh server01
在sudo bash
.
所以你必须使用sudo
命令行语法来执行ssh server01
,比如
sudo bash ssh server01