如何自动输入密码?

Sta*_*ked 4 ssh bash shell automation

我想在计算机列表(Jenkins节点)上安装软件库(SWIG).我正在使用以下脚本来自动执行此操作:

NODES="10.8.255.70 10.8.255.85 10.8.255.88 10.8.255.86 10.8.255.65 10.8.255.64 10.8.255.97 10.8.255.69"
for node in $NODES; do 
  scp InstallSWIG.sh root@$node:/root/InstallSWIG.sh
  ssh root@$node sh InstallSWIG.sh
done
Run Code Online (Sandbox Code Playgroud)

这种方式是自动化的,除了scp和ssh命令发生的密码请求.

有没有办法以编程方式输入密码?

安全不是问题.我正在寻找不涉及SSH密钥的解决方案.

Mat*_*ens 6

这里有一个expect那个例子sshS IN到条锈的夺旗服务器并自动输入密码.

expect <<< 'spawn ssh level01@ctf.stri.pe; expect "password:"; send "e9gx26YEb2\r";'
Run Code Online (Sandbox Code Playgroud)


Wes*_*ker 3

对于 SSH,正确的方法是使用密钥。

# ssh-keygen
Run Code Online (Sandbox Code Playgroud)

然后将 *~/.ssh/id_rsa.pub* 文件复制到远程计算机 (root@$node) 到远程用户的 .ssh/authorized_keys 文件中。

  • “安全不是问题。我正在寻找不涉及 SSH 密钥的解决方案。” (2认同)