我做了“某事”后,我的 ssh 功能停止工作
My ssh function stopped working after I did “something”
我的最终目标是从另一台计算机 运行 一台 (Mac) 计算机上的应用程序及其 GUI。第一步是仅使用 SSH
访问和控制使用另一台计算机和终端的计算机。这工作正常。
下一步是在服务器和终端上安装 XQuartz,以便能够在另一台计算机上查看和使用 GUI。常规 SSH
控件有效,但 GUI 无效。显然 DISPLAY
变量设置不正确,这可能是由于 XLForwarding = no
在 sshd.config 文件中设置为 no。我将其更改为是,常规 SSH
仍然有效,但 DISPLAY
仍然错误并且未出现 GUI。所以,我读到我必须重新启动 SSH
服务,我找到了一个方法来做到这一点:
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
这把事情搞砸了,因为现在我什至无法进行常规 ssh
控制。我尝试了 unload
和 load
,这在终端中给出了不同的错误消息:
当我运行(在另一台电脑上):
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
我立即得到:
ssh_exchange_identification: Connection closed by remote host
然后我尝试修复损坏:
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
然后我在一段时间后(大约 3 秒)得到:
ssh: connect to host macpro-****.imt.liu.se port 22: Connection refused
我做了什么,我该如何解决? :'(
此处似乎缺少信息,但如果您只是对重新启动 sshd
进程感兴趣,那么使用以下命令比卸载服务更合适:
sudo launchctl stop com.openssh.sshd
它应该会自动重启。
您对 launchctl unload
的使用实际上会阻止 sshd
进程启动,这不是您想要的。
要开始进行故障排除,请验证 sshd
是否确实在您的计算机以及目标计算机上侦听:
MacBook-Pro: user$ netstat -a | grep ssh
tcp6 0 0 *.ssh *.* LISTEN
tcp4 0 0 *.ssh *.* LISTEN
请注意,如果您愿意,也可以在 GUI 中进行更改:
原来我们已经将 sshd_config 文件的扩展名更改为 .txt(不要问我为什么),这似乎不是问题,直到我们使用 [= 重新启动 ssh 服务14=]。这让我把责任归咎于卸载功能。
因此,通过将 sshd_config.txt 重命名为 sshd_config 并重新启动服务解决了问题。
我的最终目标是从另一台计算机 运行 一台 (Mac) 计算机上的应用程序及其 GUI。第一步是仅使用 SSH
访问和控制使用另一台计算机和终端的计算机。这工作正常。
下一步是在服务器和终端上安装 XQuartz,以便能够在另一台计算机上查看和使用 GUI。常规 SSH
控件有效,但 GUI 无效。显然 DISPLAY
变量设置不正确,这可能是由于 XLForwarding = no
在 sshd.config 文件中设置为 no。我将其更改为是,常规 SSH
仍然有效,但 DISPLAY
仍然错误并且未出现 GUI。所以,我读到我必须重新启动 SSH
服务,我找到了一个方法来做到这一点:
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
这把事情搞砸了,因为现在我什至无法进行常规 ssh
控制。我尝试了 unload
和 load
,这在终端中给出了不同的错误消息:
当我运行(在另一台电脑上):
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
我立即得到:
ssh_exchange_identification: Connection closed by remote host
然后我尝试修复损坏:
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
然后我在一段时间后(大约 3 秒)得到:
ssh: connect to host macpro-****.imt.liu.se port 22: Connection refused
我做了什么,我该如何解决? :'(
此处似乎缺少信息,但如果您只是对重新启动 sshd
进程感兴趣,那么使用以下命令比卸载服务更合适:
sudo launchctl stop com.openssh.sshd
它应该会自动重启。
您对 launchctl unload
的使用实际上会阻止 sshd
进程启动,这不是您想要的。
要开始进行故障排除,请验证 sshd
是否确实在您的计算机以及目标计算机上侦听:
MacBook-Pro: user$ netstat -a | grep ssh
tcp6 0 0 *.ssh *.* LISTEN
tcp4 0 0 *.ssh *.* LISTEN
请注意,如果您愿意,也可以在 GUI 中进行更改:
原来我们已经将 sshd_config 文件的扩展名更改为 .txt(不要问我为什么),这似乎不是问题,直到我们使用 [= 重新启动 ssh 服务14=]。这让我把责任归咎于卸载功能。
因此,通过将 sshd_config.txt 重命名为 sshd_config 并重新启动服务解决了问题。