没有任何提示的ssh登录

时间:2012-05-29 11:00:40

标签: unix ssh

我必须登录超过150个服务器并执行一些unix命令。 问题是,如果我创建一个脚本,它将从一个服务器运行并ssh登录到150服务器并执行cmds并退出。 如何使用任何密码提示登录。 由于某种原因,我不应该使用ssh-keygen公钥和私钥方法,或使用一些额外的工具与bash行像“expect”。

有没有正常的方法可以在单个命令中通过ssh登录,包括用户名/密码@ servername,就像我们在sqlplus和ftp中有选项一样。

2 个答案:

答案 0 :(得分:4)

有一个名为sshpass的实用程序,允许您在命令行中指定密码。

使用sudo apt-get install sshpass

在Ubuntu / Debian下安装

sshpass -p 'abcedf' ssh joe@myserver.domain.com "df > ~/test; cat ~/test; rm ~/test;"

希望这会有所帮助

答案 1 :(得分:1)

您可以尝试在每个远程主机上设置~/.shosts/etc/ssh/shosts.equiv。有关详细信息,请参阅“AUTHENTICATION”下的man ssh