iTerm2技巧

Mac下用iTerm2登陆跳板机后登陆服务器,用expect来实现

Mac下的用户,建立一个.ssh目录,在.ssh目录下建一个shell脚本,login_jump.sh,内容如下:

#!/usr/bin/expect
set host [lindex $argv 0]

set TERMSERV jumpserver_iP
set USER ubuntu
set PASSWORD jumpserverpassword
set UATUN ubuntu
set UATPWD destpassword

# 登录跳板机
spawn ssh -l $USER $TERMSERV
expect {
        "yes/no" {send "yes\r";exp_continue;}
         "*password:*" { send "$PASSWORD\r" }
        }
# 登录目标服务器
expect "*ubuntu@*" {send "ssh -l $UATUN $host\r"}
expect {
        "yes/no" {send "yes\r";exp_continue;}
        "*password:*" { send "$UATPWD\r" }
        }
interact

其中,jumpserver_iP 替换为跳板机ip,jumpserverpassword替换为跳板机的密码,这里假设跳板机和目标服务器的用户名都是ubuntu,destpassword是目标机器的密码

加脚本的执行权限: 
chmod -R a+x login_jump.sh

下面在iTerm2中新建profile:
假设要通过调拌机登录目标机器 123.123.123.123
Command 选择 login shell
Send text start输入
/Users/ubuntu/.ssh/login_jump.sh 123.123.123.123

Mac下用iTerm2登陆跳板机后登陆服务器,用expect来实现
京ICP备11047313号-21