我想把ssh放到一个远程主机上,然后从那个主机上换一个IP。但是,使用下面的脚本,我只能使用ssh进入该主机。
#!/bin/sh
sshpass -p <password> ssh -t -o StrictHostKeyChecking=no <username>@<remote host>
/usr/sbin/ping <some IP>然后,在从远程主机(返回到我的源主机)存在之后,ping启动。
换句话说,当我的脚本被执行时,ssh连接就会变成一个远程主机。在那个远程主机上没有发生Ping。当我从远程主机手动退出时,ping将再次启动(从我的原始主机)。
如何使ping从远程主机而不是源主机开始?
发布于 2018-06-08 10:18:41
ssh使用一个命令在远程机器上运行作为它的参数。
ssh user@host ping ip-addr这将在远程机器上执行ping ip-addr,然后终止连接。
当您将ping命令放在下一行时,如
ssh user@host
ping ip-addr默认情况下,ssh将在远程计算机上启动一个交互式shell。当该shell终止时,该控件将返回给您的脚本,并在本地运行ping命令。
发布于 2018-06-08 10:25:55
如果希望通过ssh在远程计算机上运行,请对命令使用单引号。也可以方便地运行多个命令。
#!/bin/sh
sshpass -p <password> ssh -t -o StrictHostKeyChecking=no <username>@<remote host> '
/usr/sbin/ping <some IP>'https://unix.stackexchange.com/questions/448602
复制相似问题