如果X上的X11转发关闭,则ssh与X11从A到C到B.


3

我需要连接ssh到只能通过前门服务器“B”访问的计算机“C”。我可以通过ProxyCommand在配置文件中设置或通过以下方式执行此操作:

ssh -t user@B ssh user@C

在计算机“C”中,X11转发已打开,但在服务器“B”上它已关闭,而我不是admin / root。

是否有办法将“A”连接到“C”(通过“B”)与X11转发,即使它在“B”中关闭?

Answers:


2

一个ssh隧道可以通过从你的计算机到服务器C的“直接”路由来解决这个问题 - 但你需要能够登录到serverB ...

user@serverA:~/ $ ssh -L2222:serverC:22 user@serverB

正常登录,打开一个新的终端和

user@serverA:~/ $ ssh -p 2222 serverCusername@localhost

当您连接到本地主机上的端口2222(即serverA)时,您的连接将通过SSH连接到服务器B,此时它将在服务器B上打开一个新的随机高端口,并作为新连接到达,源自serverB并尝试连接到serverC

在第一个ssh命令中,当您引用serverC时,使用serverB将其视为/可以解析/可以连接到的任何名称/ ip


来自我的+1,你使用的端口转发表单在这些页面上很少提及,即使它非常有用(如例所示!!)。
MariusMatutiae 2017年

0

您显然可以使用此方法使用代理进行连接,但是优先使用ProxyJump-J切换设置,这将导致您从计算机而不是中间身份验证您,并且不会限制SSH提供的任何功能(端口转发,X11转发,...)。你可以实现相同的使用

ssh -J user@B user@C

其中也可以在配置文件中写入

Host C
  User user
  ProxyJump user@B

或者,如果您有较旧的OpenSSH版本,请使用ProxyCommand

Host C
  User user
  ProxyCommand ssh -W %H:%p user@B

然后连接 ssh -Y C

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.