iterm配置跳板机登陆服务器

2017/10/28 mac 共 758 字,约 3 分钟

背景

公司的服务器需要先连接vpn然后登陆跳板机,才能从跳板机登陆公司内网的服务器。每次从iterm上远程连公司内网的服务器都先需要登陆跳板机再通过跳板机登陆,太麻烦,有没有更简便的方法呢,有的!可以在iterm中配置expect脚本实现。

配置脚本

  1. 将下面脚本保存为login.exp,存在/usr/local/bin目录下面,修改文件权限777chmod 777 login.exp

  2. 注意下面脚本中跳板机ip需要修改为真实的跳板机ip,用户名修改为你的用户名。

#!/usr/bin/expect


# 参数1:远程host;参数2:远程password
if { $argc != 2 } {
    send_user "Usage: host password\n"
    exit
}

set host [lindex $argv 0]
set pw [lindex $argv 1]

set TERMSERV 跳板机ip
set USER   用户名


# Start the session
catch {spawn ssh $USER@$TERMSERV} # 登录跳板机

# Login
expect "*assword:*" { send "$pw\r" }


#通过跳板机登录线上机器
expect "*login1.ops.bj2.baidu.com*" { send "ssh $USER@$host\r" }
expect {
    "(yes/no)?"
    {send "yes\n";exp_continue}
    "*assword:*"
    {send "$pw\n"}
}
expect "*$host*" { send "cd ~\r"; }
interact

配置iterm profiles

  1. 配置iterm profiles,如下图所示。 Alt text
  2. 别忘了图片中login.exp 后面填写正确的用户名、密码两个参数。

    大功告成

    下次登录服务器就可以直接从profile中选择了,是不是非常方便。

支付宝打赏 微信打赏

您的打赏是对我最大的鼓励!

Search

    Post Directory