1) 遥控器密码

1) 遥控器密码

密码已经设置完毕,现在我想登录多个服务器并对所有服务器运行命令。我试过这个

#! /bin/bash
for HOST in $(cat servers.txt ) ; do
ssh -o $HOST "uname -a" PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no
done

但这没有帮助。

答案1

我会尝试规范的顺序

ssh -o PubkeyAuthentication=no \
    -o PreferredAuthentications=keyboard-interactive,password \
     $HOST "uname -a"  

使用您的命令,ssh 将解释PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no为要发送到远程主机的参数。


为了使用 ssh 连接到远程主机,主要使用 3 种解决方案。

1) 遥控器密码

简单明了,您每次都输入远程主机的密码。
优点:无需设置
缺点:每次都要输入密码

2)无密码密钥对

您必须生成一对没有密码的私钥/公钥,将公钥部署在远程帐户中。
优点:无需输入密码
缺点:钥匙可能被盗

3) 密码保护的密钥对

您必须生成一对带有密码的私钥/公钥,在远程帐户中部署公钥。您可以将密钥加载到内存中 ( ssh-agent) 或每次都输入密码密钥。
优点:密钥无法被盗
缺点:需要输入密码或加载/卸载

我无法找到您使用哪种连接。我认为ssha host您评论中的“”中的“a”是一个拼写错误。由于您使用的是“密码短语”一词,我假设您在私钥上设置了密码,因为它是使用的表达式。

我的下一个猜测是让你尝试一下

ssh $HOST uname -a

相关内容