linux expect 实现ssh自动登录

linux expect 实现ssh自动登录

《linux expect 实现ssh自动登录》
本文用ssh 自动登录的例子来示意了expect 的用法。当然,ssh免登录可以通过给目标机上增加authorized_keys来实现,这里我们仅仅是举一个例子,在其他类似需要输入密码的场景中,也是可以使用expect 的。登录的示例如下。学习的本质在于思考,思考是为了指导实践灵,可以根据自己的需求来修改脚本,提高自己的工作效率。

#!/usr/bin/expect
set timeout 5 # 如果超过5秒,就退出
spawn ssh faith@yourip
expect "word:" #这里类似一个正则匹配,只要一word:结尾都可以匹配,在匹配到这个pattern的时候,就会执行后面的send命令
send "yourpassword\r"  #密码后面要接一个\r,表示回车的意思,如果没有的话,需要手工输入一个回车才可以执行。
interact #因为登录之后,交互才开始,所以这个interact也必不可少,如果没有expect,登录之后就退出了

参考资料

  1. https://www.cnblogs.com/jason2013/articles/4356352.html
  2. https://www.cnblogs.com/yangmingxianshen/p/7967040.html
点赞