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