Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)

时间:2021-12-23 14:26:42

转自blog.csdn.net/tantexian



无密钥登录的自动脚本实现:vim auto_ssh.sh 
#!/usr/bin/expect  set timeout 10  set username [lindex $argv 0]  set password [lindex $argv 1]  set hostname [lindex $argv 2]  spawn ssh-copy-id -i /root/.ssh/id_rsa.pub username@ hostnameexpect {            #first connect, no public key in ~/.ssh/known_hosts            “Are you sure you want to continue connecting (yes/no)?” {            send “yes\r”            expect “password:”                send “$password\r”            }            #already has public key in ~/.ssh/known_hosts            “password:” {                send “$password\r”            }            “Now try logging into the machine” {                #it has authorized, do nothing!            }        }expect eof

chmod 777 auto_ssh.sh然后执行下述命令即可。./auto_ssh.sh root 123456 192.168.10.162

试验结果:Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)
Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)
162机器上传看:Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)成功!