是否可以使用passwd自动化ssh登录(不是passphraseless ssh)

Ric*_*ard 4 passwords ssh bash

无论安全问题如何,我都希望通过将密码放入脚本文件(以明文形式)来自动执行ssh登录.例如,我试过跟随,但没有成功......

echo"mypassword"| ssh -X root @ remote_node_address

它仍然提示密码输入...

编辑:我知道设置passphraseless ssh(实际上已经这样做了).我的问题是如何自动设置无密码ssh的过程...

Tod*_*obs 9

自动化与期待

您可以使用Expect通过SSH驱动密码身份验证.例如:

#!/usr/bin/expect -f
set timeout -1
spawn ssh -o PubkeyAuthentication=no host.example.com
expect -exact "Password: "
send -- "secret\r"
expect {\$\s*} { interact }
Run Code Online (Sandbox Code Playgroud)

这个脚本是一个非常基本的例子,在面对失败或在GNU屏幕之类的非标准远程TERM下运行时并不是特别健壮,但它适用于常见情况.您还可以使用expect-dev包中的/ usr/bin/autoexpect,根据手动会话生成自己的自定义脚本.