为了保障网络和数据安全,越来越多公司使用堡垒机。iTerm作为一个好用的终端利器,要实现自动通过堡垒机登录服务器的方式有多种。下面我就来介绍一种通过expect脚本的方式完成配置。
第一步,进入/usr/local/bin目录,新建remote.exp文件,文件内容如下:
//remote.exp文件内容
#!/usr/bin/expect
set jumpusr [lindex $argv 0]
set jumphost [lindex $argv 1]
set usr [lindex $argv 2]
set host [lindex $argv 3]
catch {spawn ssh -l $jumpusr $jumphost}
expect "*$jumphost*" { send "ssh -l $usr $host\r" }
expect "*$host*" { send "cd ~\r"; interact }
第二步,执行下面命令,修改文件属性为可执行
chmod 777 remote.exp
第三步,在iTerm中测试刚才的程序。测试命令格式如下:
// user1为登录堡垒机的用户名
// host1为堡垒机IP地址
// user2为登录目标服务器的用户名
// host2为目标服务器的IP地址
remote.exp user1 host1 user2 host2
如:remote.exp xiaowang 123.4.56.78 hadoop 132.45.6.89
执行命令后,直接进入目标服务器。如果没有成功检查自己是否有堡垒机和目标服务器权限 <