跳至主要內容

ssh跳板机直接登陆内网机

pptg小于 1 分钟有趣的事

相关信息

为什么要做这个?

组里的10台机器只放出了1台,其他机器必须通过跳板登陆进去,这样太麻烦了

1. 实现方法

这需要shell终端支持连接后执行命令的功能

  1. 首先在shell终端都正常配置ssh的信息,然后在连接后执行命令里输入跳板机上的登陆脚本
# 这个脚本的意思就是调用跳板机的ppServer.exp这个程序
# 然后跟上目标服务器的port、user、ip、pswd
/home/pptg/ppServer.exp 22 root 192.168.55.9 xxxxxxxx
  1. 跳板机使用了expect这个工具处理和目标服务器的ssh交互,自动填入了账号密码等信息,expect安装方法,ppServer.exp具体内容如下
#!/usr/bin/expect
set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
        "(yes/no)?"
        {send "yes\n";exp_continue}
        "password:"
        {send "[lindex $argv 3]\n"}
}
interact