您的位置:首页 > 运维架构

无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)

2016-02-29 00:00 1166 查看
感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如有转载,请保留源作者博客信息。

Better Me的博客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@$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机器上传看:





成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: