ssh 自动登录并将ip写入终端标题

问题的提出:

1、每次多要登录很多个服务器,通过ssh在终端登录,每次多要修改终端标签页的title,不胜其烦。要实现直接登录后自动修改title
2、每次登录的服务器只是ip不一样,密码基本上是一样的,懒得输入,自动输入最好
解决:
1、自动修改终端的title可以该命令
       PROMPT_COMMAND=/"echo -ne /"/033]0;$IP/007/""
不过要在登录后执行这条语句,新问题提出,如何在登录后执行命令
2、自动输入密码 这个可以马上想到expect,自动实现交互(like 人机交互),
      那么刚刚1里面提出的问题也可以交给expect了,那么问题解决了
具体代码如下:

ssh 登录 脚本
#!/usr/bin/expect
set timeout 5
set IP [lindex $argv 0]
set pass [lindex $argv 1]
if { $argc<1 } {
	puts "请输入IP: issh ip /[password/]";exit
}
spawn ssh -l root $IP
expect "yes/no"  {send "yes/r";exp_continue}
expect "password:" {
	if {$pass==""} {
		send "123456/r"
	} else {
		send "$pass/r"
	}
	puts "/n   login in now...";
	exp_continue
}
expect  "Last*" { send "PROMPT_COMMAND=/"echo -ne ///"//033]0;$IP//007///"/"/r"; send "clear/r"}
interact

如何使用

1、将脚本保存为issh文件,放在/usr/bin 下面就可以了
2、默认密码是123456,直接 issh 192.168.19.xxx 就可以登录了。是不是很方便。终端的title也会修改为相应的ip,
如果密码不是123456 就输入 issh 192.168.19.xxx password

注意: 机子要支持expect ,ubuntu  apt-get install expect

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值