SSH 跳转代理访问仅限 RSH 的端点

SSH 跳转代理访问仅限 RSH 的端点

设置:组中只有一台服务器可以通过 SSH 访问。其他只能通过 RSH 从前者访问。

因此,当我想在其他服务器上执行命令时,我会这样做:

$ ssh asd10 rsh asd7 hostname
ASD7

是否可以将其合并ProxyCommand经典的 SSH 跳转主机方式?

这样的配置将允许您通过主机 A 进行代理。

$ cat .ssh/config

Host host-a
  User your_username
  Hostname 10.0.0.5

Host host_b
  User your_username
  Hostname 192.168.0.1
  Port 22  
  ProxyCommand ssh -q -W %h:%p host-a

现在,如果您想连接到主机 B,您只需输入以下内容:ssh host_b

...这样我就可以运行:

$ ssh asd7 hostname
ASD7

[补充]

如果我像@cas问的那样直接去:

$ ssh -t -o ProxyCommand='ssh asd10 rsh %h' asd7 hostname
tcgetattr: Invalid argument
ioctl TIOCGETP: Invalid argument
ioctl TIOCLGET: Invalid argument
ioctl TIOCGETC: Invalid argument
ioctl TIOCGLTC: Invalid argument
ioctl TIOCGETP: Invalid argument
ioctl TIOCLGET: Invalid argument
ioctl TIOCSLTC: Invalid argument
ioctl TIOCSETC: Invalid argument
ioctl TIOCSETN 3: Invalid argument
ioctl TIOCLSET: Invalid argument
Killed by signal 2.

...它会一直循环,直到我按 Ctrl-C。

它可能会等待输入,然后不生成任何输出。我没有并行使用工作 shell 会话来检查前者是否确实生成了任何新进程。

相关内容