Dod*_*die 29 ssh terminal xterm macos-sierra
我刚刚升级到MacOS Sierra,我意识到我似乎无法在终端中运行"ssh -X"命令.它曾用于启动xterm窗口,但现在它就像我甚至不再使用-X选项了.在我更新之前,它工作得很好.除了从OS X Yosemite到MacOS Sierra之外,我没有更改设置中的任何其他内容.
编辑:
正如所建议的那样,这是我在调试日志中发现的可能导致此问题的内容.
debug1: No xauth program.
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Run Code Online (Sandbox Code Playgroud)
Chr*_*ian 47
我不需要重新安装XQuartz,但是,根据Matt Widjaja的回答,我想出了一个改进.
sudo vi /etc/ssh/ssh_config (这是ssh客户端配置,而不是sshd_config)
Host *条目下添加(或在每个主机的适当位置添加)
XAuthLocation /usr/X11/bin/xauth (在塞拉的xauth位置发生了变化)ServerAliveInterval 60 (每60秒ping一次服务器以保持ssh连接活动)ForwardX11Timeout 596h (允许超过20分钟默认值的不受信任的X11连接)除了现有的ssh客户端连接之外,无需重启ssh.
听起来像-Y(受信任的X11)比不受信任更可取.如果切换到trusted,可能会删除ForwardX11Timeout行.
ServerAliveInterval行也是可选的首选项.
也可以在~/.ssh/config(用户的配置文件)中进行这些更改,但权限必须正确.
编辑:我删除了ForwardX11和ForwardX11Trusted.它们不是必需的,并且ForwardX11不太安全,并且导致git(或使用ssh的其他工具)出现问题.
Mat*_*aja 27
我注意到macOS Sierra重置了我的X11设置,因此它禁用了我的xAuth程序.要在macOS Sierra上重新启用xAuth:
sudo <text editor of your choice> /etc/ssh/sshd_configX11Forwarding yesX11DisplayOffset 10XAuthLocation <path_to_your_xauth>我的位于/ opt/X11/bin/xauth中.这可能是解释为什么重新安装工作的黄金步骤.sudo launchctl unload /System/Library/LaunchDaemons/ssh.plistsudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist小智 5
只需添加一行XAuthLocation /usr/X11/bin/xauth即可/etc/ssh/ssh_config在我的Mac上运行,运行MacOS Sierra,ssh到Linux主机,并能够远程运行X Windows程序,并在Mac上的XQuartz下显示它们.
小智 5
我对此的解决方案如下。
(1)xquartz在尝试之前启动ssh -X。在xquartz选项中,我仅启用了“登录时打开”,然后它始终在后台运行。
(2)转到“ xquartz首选项”菜单,然后在“安全性”窗口上,单击“允许来自客户端的连接”框。
完成这些操作后,一切正常。
小智 5
这是一个老问题,但是我最近在运行10.12.6的Mac上遇到了同样的问题。该DISPLAY变量未在终端中设置并且ssh -X不起作用。这就是我解决问题的方法:
使用Homebrew重新安装XQuartz :(
brew cask install xquartz该选项--forced可能是必需的)
将XQuartz启动器添加到系统默认设置中(遵循此Reddit帖子中的解决方案:
launchctl load -w /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
重新启动系统。
完成这些之后,我的DISPLAY变量设置正确:
$ echo $DISPLAY
/private/tmp/com.apple.launchd.mfXFpzZ0gC/org.macosforge.xquartz:0
ssh中的X11转发也可以。
| 归档时间: |
|
| 查看次数: |
65027 次 |
| 最近记录: |