我知道我可以连接到主机并通过运行使用窗口应用程序ssh -X <host>
。
但是如果我已经通过普通 ssh 连接,例如ssh <host>
,该怎么办?
有没有办法可以打开 X 转发而不必重新连接?
答案1
当 SSH 连接建立时,它就建立起来了。您需要将其断开,然后使用所需的选项重新创建 SSH 连接(Mark Wagner 的回答中提到的端口转发除外)。OpenSSH 4.0+ 有一个功能,它使用ControlMaster
选项新的 SSH 命令可以重新使用现有的连接,但这并不是您想要的。
答案2
不容易。从 OpenSSH 5.1 开始,~C escape 命令行支持运行时创建动态 (-D) 端口转发。如果您的本地 X 服务器正在侦听 TCP 套接字,您可以创建到它的端口转发。如今大多数 X 服务器都没有。但是,如果是,则需要设置 xauth 数据并设置 DISPLAY 环境变量。
在内部,OpenSSH 转发到您的 X 服务器的 unix 域套接字并自动处理 xauth 数据和设置 DISPLAY。
答案3
不支持动态更改现有连接,因为转发是在建立连接时设置的,因此您必须重新连接才能启用/禁用此功能。