SSH免密登录与密码自动填充
SSH自动填充密码
#!/usr/bin/expect
set L_IP [lindex $argv 0]
set L_PORT [lindex $argv 1]
set L_ACCOUNT [lindex $argv 2]
set L_PASSWD [lindex $argv 3]
set timeout 5
spawn ssh -p ${L_PORT} ${L_ACCOUNT}@${L_IP}
expect {
"(yes/no)" {send "yes\r";exp_continue}
"assword" {send "${L_PASSWD}\n";exp_continue}
}
catch wait result
exit [lindex $result 3]
注:如果想要在远端执行脚本,需要将ssh登录命令放置在另一份bash脚本文件中
SSH免密登录
1、在需要免密登录的服务器上生成公钥和私钥
执行如下命令,按照提示操作
$ ssh-keygen
2、将生成的公钥拷贝到免密登录客户端
$ ssh-copy-id -i /path/to/id_rsa.pub root@client_ip