无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
kevin.Zhu 发布于:2013-1-16 15:52 分类:Shell 有 23 人浏览,获得评论 0 条
http://blog.csdn.net/tantexian/article/details/45887857
无密钥登录的自动脚本实现:
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@$hostname expect { #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
试验结果:
162机器上传看:
成功!