ssh跳板登陆太麻烦,使用expect每次自动登录 利用expect 模拟键盘动作,在闲置时间之内模拟地给个键盘响应
2017-11-11 00:17
886 查看
#!/usr/bin/expect -f #设置超时时间 set timeout 3 #这里设置了跳板机的密码 set password "你的跳板机密码" #连接跳板机 spawn ssh 用户名@跳板机IP #如果返回的内容包含*yes/no*,发送yes expect "*yes/no*" {send "yes\n"} #如果返回的内容包含"*password*",发送你设置的密码+\r(PS.这里的\r一定要加,是回车操作的意思。。。在网上搜了好多没有说明,一直以为是换行,没有加这个,结果一直执行不成功) expect "*Password:*" {send "$password\r;"} #登录跳板机成功,如果返回的内容包含"*你的跳板机的名称*",发送连接测试机的命令 expect "*能匹配跳板机名称的字符串*" {send "ssh 测试服务器的用户名@测试服务的IP\r";} #同上面一样。。。注意interact是留在测试机上,给用户控制权限,如果不写会直接退出 expect "*Password:*" {send "你的密码\r";interact} #保存为 login.sh 执行 expect login.sh #终于不用手输两次密码了.....
首先MAC要安装expect( brew install expect),然后,编写上面的脚本文件保存,
保存为 login.sh 执行 expect login.sh
终于不用手输两次密码了.....
防止超时掉线的代码:
#!/usr/bin/expect -f #首先MAC要安装expect( brew install expect),然后,编写下面的脚本文件保存 #设置超时时间 set timeout 1 #这里设置了跳板机的密码 set password "xxxxxx" #连接跳板机 spawn ssh xxx #如果返回的内容包含*yes/no*,发送yes expect "*yes/no*" {send "yes\n"} #如果返回的内容包含"*password*",发送你设置的密码+\r(PS.这里的\r一定要加,是回车操作的意思。。。在网上搜了好多没有说明,一直以为是>换行,没有加这个,结果一直执行不成功) expect "*word:*" {send "$password\r;"} #登录跳板机成功,如果返回的内容包含"*你的跳板机的名称*",发送连接测试机的命令 expect "*login*" {send "ssh xxxt@xxxxx\r";} #同上面一样。。。注意interact是留在测试机上,给用户控制权限,如果不写会直接退出 expect "*word:*" {send "$password\r"; #interact} interact { timeout 30 {send "\x20"} } } #保存为 login.sh 执行 expect login.sh #终于不用手输两次密码了.....
相关文章推荐
- 用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子
- 使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)
- 使用expect实现ssh自动输入密码,从而自动登陆Linux
- 使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)
- iTerm2 结合 Linux expect 实现 ssh 自动登陆, 通过跳板机登录服务器内网功能
- 使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)
- 使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)
- 用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子
- Ubuntu使用Spawn和expect实现ssh自动登陆
- 利用Expect实现telnet自动登录并执行command
- 用expect实现ssh自动登录对服务器进行批量管理
- 使用ssh公钥密钥自动登陆linux服务器
- 使用expect自动登录
- 使用public/private key让putty(ssh)自动登录
- putty 使用密钥自动登录 ssh
- 防止ssh登录后闲置时间过长而断开连接
- 使用expect工具ssh登录远程服务器并执行命令操作
- 用expect实现ssh自动登录对服务器进行批量管理
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- c# winform实现网页上用户自动登陆,模拟网站登录