Ssh

無法在 macOS 上執行 SSH 守護程序

  • April 27, 2019

伺服器正在執行 macOS Mojave 10.14.4。我無法啟動 SSH 守護程序。在本地登錄後,我執行:

$ launchctl list | grep ssh
-   0   com.openssh.ssh-agent
$ ps -A | grep ssh 
1483 ??         0:00.00 ssh-agent -s
8483 ??         0:00.00 ssh-agent

該服務未啟動。為了解決這個問題,我嘗試過:

$ sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
$ sudo launchctl stop com.openssh.sshd 
$ sudo launchctl start com.openssh.sshd 
$ eval `ssh-agent -s`                                                                                  
Agent pid 9055

我沒有運氣。在嘗試解決此問題之前,我嘗試的最後一件事是:

$ /usr/sbin/sshd -d     
debug1: sshd version OpenSSH_7.9, LibreSSL 2.7.3
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.

然後我跑了$ ssh-keygen -A,但仍然收到相同的消息。

要在 MacOS 中啟用 SSH 服務/守護程序,請執行以下操作:

sudo systemsetup -setremotelogin on

要禁用 SSH 服務,請執行以下操作:

sudo systemsetup -setremotelogin off

檢查它是打開還是關閉:

sudo systemsetup -getremotelogin 

(經過莫哈韋沙漠測試)

順便說一句,sshd必須以 root 身份執行,而不是執行它。它一定要是:

sudo /usr/sbin/sshd -d &

引用自:https://unix.stackexchange.com/questions/515894