ssh连接远程服务器自动输入密码

 

一、先安装expect,expect是一套完成自动交互任务的软件,主要命令有四个:

1.spawn:命令用来启动新的进程,spawn后的sendexpect命令都是和使用spawn打开的进程进行交互

2.expect:等待命令的反馈。

3.send:接收到反馈之后,执行的交互命令。

4.interact:留在远程终端,并且退出自动化,进行人工交互,即可以手动写入命令。

安装expect的语句为:

yum -y install expect

二、shell代码

#!/usr/bin/expect
set timeout 30 
set host "写入服务器ip"
spawn ssh $host
expect "password:"
send "写入密码"
interact

逐句解释:

1.#!/usr/bin/expect  设置这个脚本的解释器
2.set host "写入服务器ip" #设置host变量用于保存服务器ip
3.spawn ssh $host。#进入expect环境下才可以执行的内部命令spawn
4.expect "password:"#判断上次输出结果是否包含“”内的内容,如果包含则立即返回,否则等待30秒
#等待30s就是 set timeout 30
5.send "写入密码"#当匹配到输出结果中包含“password”,就发送密码到打开的ssh进程,执行交互
6.interact #登陆远程服务器之后,留在远程终端,并且可以手动交互

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值