Expect ssh免秘钥登入自动脚本(ssh-copy-id、expect免交互输入脚本)
2017-08-28 22:47
896 查看
转自:blog.csdn.net/tantexian
无密钥登录的自动脚本实现:
vim auto_ssh.sh
chmod 777 auto_ssh.sh
然后执行下述命令即可。
./auto_ssh.sh root 123456 192.168.10.162
试验结果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/10/730069c58d1fee257bcb0e767cc3ecf4)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/10/7ef27dae94aefa0aad26ad6c151abeb9)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/10/c12a4852f765906e0ecfd272f18ea55b)
162机器上传看:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/10/5178b6f68a943a90c0ca17b6a746119f)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/10/82a1634778cd9207d16f6185b052b9fc)
成功!
无密钥登录的自动脚本实现:
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 |
然后执行下述命令即可。
./auto_ssh.sh root 123456 192.168.10.162
试验结果:
162机器上传看:
成功!
相关文章推荐
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
- 无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)
- expect实现scp/ssh-copy-id非交互
- 使用expect实现shell脚本中scp,ssh自动输入口令
- shell脚本实现无密码交互的SSH自动登陆
- 脚本ssh连接自动填密码(expect)
- linux、mac上用expect脚本实现脚本自动输入密码
- [转]expect实现ssh自动交互
- ssh自动输入密码登录服务器/ssh免输入密码登录/非交互ssh 密码验证
- expect实现脚本中ssh密码输入
- shell脚本实现无密码交互的SSH自动登陆
- expect 提供用户名和密码的SSH自动登录脚本
- Ubuntu 16.04实现SSH无密码登录/免密登录/自动登录(ssh-keygen/ssh-copy-id)
- ssh 非交互免输入密码自动登陆设置
- shell脚本通过expect脚本实现自动输入密码
- 在 Linux 命令行脚本中执行 sudo 等命令时自动输入密码(使用expect)
- sch远程拷贝自动输入密码expect小脚本
- 用expect实现自动输入SSH的SCP信息,且不需要另外的文件