暂停 BASH 脚本以允许用户输入 SSH 密码

暂停 BASH 脚本以允许用户输入 SSH 密码

我正在尝试编写一个 bash 脚本来登录到一系列服务器并执行一些命令,将要运行 bash 脚本的服务器没有安装 EXPECT 或 SSHPASS,因此我无法安装它。

我正在寻找一种无需 BASH 或 SSHPASS 即可自动登录的脚本方法。

或者,脚本会在 SSH 需要密码时暂停,然后运行脚本的用户手动输入密码,然后脚本继续在该设备上运行命令。然后对每个设备重复此操作,我知道这不是很有效,但这并不是什么问题。

我已经在线搜索了几个小时,但一切似乎都与我无法安装的第三方工具有关。

谢谢。

答案1

我知道的无需密码即可使用 ssh 的唯一选择基本上是 3

  1. 你可以预先授权其他人使用你的系统(快捷且不安全)

    在您的客户端登录某些特定用户,例如:snmc

    ssh-keygen -t dsa -b 1024 
    ssh-copy-id -i ~/.ssh/id_dsa.pub  snmc@server
    <insert your password>
    ssh server
    
  2. 使用身份预共享证书(更安全),像这样

    ssh -i identity.pem root@server-address
    

    配置有点复杂,请在网上搜索

  3. 使用集中式身份管理器系统(如 RADIUS 或 KERBEROS)并配置 pam 模块也具有很高的安全性,但有点过于复杂,但对我来说是最好的。

我希望它有帮助!

相关内容