这个问题在这里已经有了答案:
Using a variable's value as password for scp, ssh etc. instead of prompting for user input every time
(10 个回答)
5年前关闭。
我想编写一个shell脚本来连接多个linux主机并收集服务器端信息/监控细节。
由于我需要为给定的服务器列表输入 ssh 用户名@主机名,我只是想知道我可以一次性输入/硬编码密码并阻止 ssh 命令提示每个 ssh 命令的密码。
我对所有服务器使用相同的密码。
我写了一个 shell 脚本,但它不断提示我在循环中输入 ssh 命令的密码。
最佳答案
尝试使用 sshpass
.sshpass -p "password" ssh -o StrictHostKeyChecking=no user@server
或者使用公钥认证(您将通过一对没有密码提示的 key 建立 ssh 连接):
ssh-keygen -t rsa
ssh-copy-id user@server
关于带有 SSH 的 shell 脚本,使用一次性密码连接多台主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557712/