首页 > 代码库 > ssh执行非交互式命令

ssh执行非交互式命令

如果你想用脚本自动化登录到某台机子上,然后在上边执行个命令,怎么办呢?

可以使用ssh的非交互式命令

ssh zhc@hongchangfirst.com "/home/hczhang/bin/build.sh"


这里可以用expect模拟键盘输入将密码输入,也可以用无密码登录,具体就是将自己的公钥放在对端的authorized_keys里,登录的时候就不用输密码了,就是建立两台机子之间的信任关系,这里不多讲了。


那么如果你想执行sudo命令怎么办呢?比如:

ssh zhc@hongchangfirst.com "sudo /home/hczhang/bin/build.sh"

会出现 not present a tty to run sudo,

我们可以用-t选项模拟一个tty。

ssh -t zhc@hongchangfirst.com "sudo /home/hczhang/bin/build.sh"


好了,就到这里了。


原文:http://blog.csdn.net/hongchangfirst/article/details/37922911

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


ssh执行非交互式命令