我正在尝试编写一个 bash 脚本来登录到一系列服务器并执行一些命令,将要运行 bash 脚本的服务器没有安装 EXPECT 或 SSHPASS,因此我无法安装它。
我正在寻找一种无需 BASH 或 SSHPASS 即可自动登录的脚本方法。
或者,脚本会在 SSH 需要密码时暂停,然后运行脚本的用户手动输入密码,然后脚本继续在该设备上运行命令。然后对每个设备重复此操作,我知道这不是很有效,但这并不是什么问题。
我已经在线搜索了几个小时,但一切似乎都与我无法安装的第三方工具有关。
谢谢。
答案1
我知道的无需密码即可使用 ssh 的唯一选择基本上是 3
你可以预先授权其他人使用你的系统(快捷且不安全)
在您的客户端登录某些特定用户,例如:snmc
ssh-keygen -t dsa -b 1024 ssh-copy-id -i ~/.ssh/id_dsa.pub snmc@server <insert your password> ssh server
使用身份预共享证书(更安全),像这样
ssh -i identity.pem root@server-address
配置有点复杂,请在网上搜索
使用集中式身份管理器系统(如 RADIUS 或 KERBEROS)并配置 pam 模块也具有很高的安全性,但有点过于复杂,但对我来说是最好的。
我希望它有帮助!