免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6009 | 回复: 7
打印 上一主题 下一主题

[学习共享] expect ssh 自动输入登入密码错误,就一直卡在输入密码里没反应 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-06-12 12:36 |只看该作者 |倒序浏览
本帖最后由 515863429 于 2017-06-22 11:33 编辑

#!/usr/bin/expect -f
set host [lindex $argv 0]
set pwd  [lindex $argv 1]
#set cmd  [lindex $argv 2]
set timeout -1
#log_user 0
spawn ssh -t $host
expect {

                    "*yes/no*" {send "yes\r";exp_continue}

                    "*assword*" {send  "$pwd\r";exp_continue}

        }
expect "*$*"
send "sudo su -\r"
expect "*#*"
send "hostname\r"
#log_user 1
expect "*#*"
send "exit\r"
log_user 0
expect "*$*"
send "exit\r"
log_user 0
expect eof


我想实现密码错误能自动输入三次后往下走,或者直接跳过也行,求帮忙。
一直卡在
spawn ssh -t xx.xx.xx.xx sudo cat /etc/shadow
aiuap@xx.xx.xx.xx's password:
Permission denied, please try again.
aiuap@xx.xx.xx.xx's password:

论坛徽章:
0
2 [报告]
发表于 2017-06-21 17:09 |只看该作者
没人帮忙么

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [报告]
发表于 2017-06-21 18:14 |只看该作者
自己手工跑一遍...

root@127.0.0.1's password:
Permission denied, please try again.
root@127.0.0.1's password:
Permission denied, please try again.
root@127.0.0.1's password:
Permission denied (publickey,password).
#

论坛徽章:
0
4 [报告]
发表于 2017-06-21 20:54 |只看该作者
sshpass不是更好用,或ssh-copy-id公钥登录。

论坛徽章:
0
5 [报告]
发表于 2017-06-22 11:35 |只看该作者
回复 3# jason680
后面的命令是接sudo 按上面的运行后得出以下结果
spawn ssh -t 127.0.0.1
aiuap@127.0.0.1's password:
Permission denied, please try again.
aiuap@127.0.0.1's password:
Permission denied, please try again.
aiuap@127.0.0.1's password:
Permission denied (publickey,password,keyboard-interactive).
expect: spawn id exp4 not open
    while executing
"expect "*$*"   "
    (file "sshsudoroot1.exp" line 15)

论坛徽章:
0
6 [报告]
发表于 2017-06-22 11:35 |只看该作者
回复 3# jason680
后面的命令是接sudo 按上面的运行后得出以下结果
spawn ssh -t 127.0.0.1
aiuap@127.0.0.1's password:
Permission denied, please try again.
aiuap@127.0.0.1's password:
Permission denied, please try again.
aiuap@127.0.0.1's password:
Permission denied (publickey,password,keyboard-interactive).
expect: spawn id exp4 not open
    while executing
"expect "*$*"   "
    (file "sshsudoroot1.exp" line 15)


论坛徽章:
0
7 [报告]
发表于 2017-06-22 17:28 |只看该作者
有帖子写过遇到这样的情况,但是我运行还是识别不到
spawn ssh  10.10.10.1
           expect {
                      "\[#$\]"     {send "\r" }   ### 假如有了ssh 公钥之类的,直接回车。当然普通用户下边还可能需要sudo,自己处理一下吧。
                    "not know" {send_user "[exec echo \"not know\"]";exit}

                    "(yes/no)?" {send "yes\r";exp_continue} #continue的意义,靠猜测也能差不多知道了吧?可以Man expect

                    "password:" {send  "$pwd\r"}

                    "ermission denied, please try again." {

                        send_user "[exec echo \"Errorassword is wrong\"]"

                        exit  }

                    }

论坛徽章:
0
8 [报告]
发表于 2022-01-17 16:57 |只看该作者
本帖最后由 yexingqi 于 2022-01-17 17:15 编辑

谢谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP