时间:2021-05-22
shell代码:
复制代码 代码如下:
#!/usr/local/bin/expect
set PASSWD [lindex $argv 1]
set IP [lindex $argv 0]
set CMD [lindex $argv 2]
spawn ssh $IP $CMD
expect "(yes/no)?" {
send "yesr"
expect "password:"
send "$PASSWDr"
} "password:" {send "$PASSWDr"} "*host " {exit 1}
expect eof
注解:
第一行,制定使用/usr/local/bin目录下的expect命令对后面的程序进行解释。
第二行,三行,四行,分别从命令行参数中获取要登录的主机IP地址,登陆密码,以及要执行的命令。
第五行,大概就是要触发这样一个事件,执行ssh $IP $CMD命令。
第6行至第11行就是expect的整个交互过程了。
如果读取到(yes/no)?提示符,就输入yes并回车,如果读取到password:提示输入密码的字符串,就输入用户登录密码(root用户)。
当然如果不是第一次登陆,以前已经登录过的话,当输入ssh $IP $CMD回车后,会直接提示输入密码也就是说会读到字符串”* password:”,这个时候会输入密码回车(send "$PASSWDr").
另外,如果主机不可达的话,(yes/no)?和”password:”的可能都不会出现,系统会提示:
“No route to host”退出程序。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
linux系统主要用于服务器,作为运维人员,每天要不断的ssh登录服务器进行服务器管理,每次输入ssh的命令会很麻烦,deepin20的终端界面提供ssh远程管
本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法。分享给大家供大家参考。具体分析如下:python下有个paramiko
本文实例讲述了Python实现建立SSH连接的方法。分享给大家供大家参考。具体实现方法如下:我需要实现一个Windows下远程连接到SSH服务器执行命令的功能,
基础环境配置域名和服务器请先自行购买基于云服务器ECS创建一个应用实例,选择系统镜像为Ubuntu16.04,在本机通过SSH进行远程连接,并进行相关配置ssh
上文中介绍了安卓客户端与服务器交互,实现注册功能,Android客户端实现注册/登录详解(一)本文将继续介绍App与服务器的交互实现登录和自动登录的功能,上文说