我有一个shell脚本,它启动For循环,从带有主机名的文本文件中读取,并使用SCP将文件传输到每个主机。它非常有用,但处理密码提示的最佳方法是什么?我给服务器的唯一身份验证是用户名和密码。
截至目前,我必须为每台服务器输入密码。由于服务器数量很少,它已经成为可能,但我希望将来有更好的解决方案。任何帮助/建议都会很棒。
谢谢!
答案 0 :(得分:1)
大多数服务器还支持publickey身份验证。在您的本地主机上Generate a keypair,然后将~/.ssh/id_rsa_pub
复制到远程主机~/.ssh/authorized_keys
(如果已存在,则附加到其中)。使用ssh-agent
处理锁定密钥的关键短语。
答案 1 :(得分:0)
对于这种交互式操作,您可以使用Expect脚本。您可以轻松定义远程调用,您希望获得特定字符串(f.e“username:”),然后发送已知密码。