所以我在工作的时候有一台 Mac,我喜欢用以下命令将它 ssh 到我的 Linux 机器上:
$ ssh -Xt user@mylinux
我可以登录并启动 Linux 机器上的任何 X11 应用程序,没有任何问题。但大约 15 分钟后,我回到会话(ssh 仍在运行并连接),然后我得到:
$ xterm
xterm Xt error: Can't open display: localhost:12.0
我尝试过使用-o "TCPKeepAlive yes"
或-o "ServerAliveInterval 30"
,但仍然得到相同的行为。
ssh 或 Mac 或我的 linux sshd 配置中是否存在某些东西,会在一段时间不活动后终止 X-forwarding?
答案1
默认ForwardX11Timeout
值为 20 分钟ssh -X
,但您可以将其设置为较大的值(例如7d
7 天).ssh/config
通过“受信任的” X11 转发ssh -Y
实际上会启用一些潜在的恶意行为,例如按键监控和屏幕抓取。
答案2
使用-X
,X11 转发在“不受信任”模式下启用,利用各种 X11 安全扩展,包括有时间限制的 Xauth cookie。
用于-Y
启用 X11 的“受信任”模式,这将启用对 X11 服务器的完全访问。