顺便说一句,我对 Linux 很陌生。我的最终目标是从另一台计算机在(Mac)计算机上运行应用程序及其 GUI。第一步是使用 SSH 使用另一台计算机和终端来访问和控制计算机。这工作得很好。
下一步是在服务器和终端上安装 XQuartz,以便能够在另一台计算机上查看和使用 GUI。常规 SSH 控制有效,但 GUI 无效。显然,变量DISPLAY
设置不正确,这可能是由于文件中X11Forwarding
设置为。我将其更改为;常规 SSH 仍然有效,但仍然错误,并且 GUI 没有出现。因此,我了解到我必须重新启动 SSH 服务,我找到了一种方法来做到这一点:no
sshd.config
yes
DISPLAY
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
这把事情搞砸了,因为现在我什至无法进行常规的 ssh 控制。我尝试卸载和加载,这在终端中给出了不同的错误消息:
当我运行时(在另一台计算机上):
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-c10c8b.imt.liu.se port 22: Connection refused
我做了什么,我该如何解决?
答案1
您应该尝试查看 sshd 的日志,不知何故,您的 SSHD 配置无效,这里有一些指南:http://linux.die.net/man/5/sshd_config 查看 sshd 记录内容的位置,并查找其未为您运行的潜在问题。
这个“ssh:连接到主机 macpro-c10c8b.imt.liu.se 端口 22:连接被拒绝”应该会指导您在 macpro-c10c8b.imt.liu.se(可能是您的 Linux 机器)上没有运行 sshd,这就是为什么命令失败。
答案2
问题解决了,我们将sshd.config的扩展名改为sshd.config.txt。在我执行卸载/加载命令之前,这没有效果。这就是我责怪unload/uload函数的原因。将名称改回正常,重新启动 ssh 服务,现在可以使用了。