如何使用单个密码启动多个 SSH 会话?

如何使用单个密码启动多个 SSH 会话?

我是一家位于突尼斯公司的系统管理员。我用 Debian Jessie 控制 50 多台 Raspberry Pi。我经常通过 SSH 连接它们,并且所有设备的密码都相同。

有没有什么解决办法,可以使用一次密码,而不需要再次输入?

我的电脑:gnome-Ubuntu 16.04
Raspberry Pi:Jessie arm6vl

答案1

Ubuntu 有一个名为 sshpass 的软件包。在 Ubuntu 16.04 上按如下方式安装它:

sudo apt install sshpass

像这样使用它:

sshpass -p 'YourPassword' ssh user@host

对于多个主机,你可以执行以下操作:

for host in hostname1 hostname2 hostname3; do \
    sshpass -oStrictHostKeyChecking=no \
    -p 'YourPassword' ssh user@${host} "hostname; df -h; echo"; done

StrictHostKeyChecking 禁用常规 SSH 检查,即远程计算机是否在已知主机列表中;如果您正在部署 Pi 农场,情况可能就是这样。使用 sshpass 时,如果没有此选项,命令将默默失败,而不是显示消息“无法确定主机 xxxx 的真实性”。

答案2

我强烈建议使用ssh 密钥而不是密码。

您创建一对密钥(私钥/公钥),在每个 RaspPi 上安装公钥,并在 Ubuntu 计算机上安装私钥。

例如这里或者通过 Google 搜索大量的操作方法。

相关内容