如果公司有relay机的话,大家可能遇到过需要通过本地机器先连接上relay机,然后再在relay机上连接你想要连接的机器,每次都要这样操作,有点太麻烦了,可能你想写个脚本来解决就行了,简单写了一个,共享一下:
#!/usr/bin/expect -f #定义relay服务器 set relayServer "xxxx@relay.corp.xxx.com" set relayPassword "******" #定义要连接的开发机 set devServer "root@192.168.2.*" set devPassword "******" #是否输出服务器日志 log_user 0 #连接relay机 spawn ssh $relayServer expect "$relayServer*" sleep 1 #发送relay机密码 send "$relayPassword\n" sleep 0.5 #在relay机发送连接dev服务器命令 send "ssh $devServer\r" expect "$devServer*" sleep 0.5 #发送dev机密码 send "$devPassword\n" interact
但是成功率还不能保证100%,欢迎高手们优化。