带有 SSH 的 shell 脚本,使用一次性密码连接多台主机

标签 shell ssh rsa

这个问题在这里已经有了答案:





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/

相关文章:

git - 在 github/bitbucket 上使用多账户/多身份推送

ssh - Jenkins SSH 插件返回后,Jenkins SSH 远程进程就会被终止

java - 如何从 base64 编码的字符串构造 java.security.PublicKey 对象?

android - RSA 公钥在 android 中的实现

c - 如何使用从 scanf 获取的参数填充字符指针数组?

linux - 如何将参数直接传递给 awk

bash - 如何同步记录 stderr 和 stdout,但仅将 stderr 打印到屏幕?

python - 如果远程服务器上的 python 脚本停止,如何重新启动它?

azure - 为什么尝试从 Ubuntu 22.04 通过 SSH 连接到 Azure Linux 虚拟机时总是超时?

C# RSA 使用私钥解密