如何在 Mac OSX Mountain Lion 上透過命令列重新啟動 SSH 服務?
透過使用ps aux | grep 'ssh'
,我能夠推斷出該過程最有可能/usr/sbin/sshd
。
從這裡我搜尋了sshd 文檔尋找「重新啟動」的參考,但沒有找到。
我不知道我的下一步應該是什麼。
答案1
看這個答案關於 ServerFault 的類似問題。該命令在 Mountain Lion 中應該是相同的。
您可以使用“unload”子命令停止該服務。
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
load
@MattClark 建議的更新:若要在以下時間後重新啟動服務unload
:
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
請注意,現有的 SSH 會話將被終止,因此您需要獨立於目前使用者會話執行此會話。
答案2
沒有理由「卸載」sshd 服務,相反,您可以「停止」sshd 服務。它會自行重新啟動。
sudo launchctl stop com.openssh.sshd
答案3
我無法確認安斯加的回答是否有效,因為沒有任何消息/明顯的跡象,儘管我相信它確實有效。
我還發現killall sshd
它會殺死並重新啟動 sshd 進程,但缺點是所有連接都會停止。
答案4
這裡看到的問題和答案都太舊了(2012-2013)。我在 Ventura(2022 年發布)中嘗試過它們,但沒有一個起作用。
我結束了對我的兩台 Mac(10.11.6/El Capitan@2016 和 13.1/Ventura@2022)的測試:兩者都在 Preferences|Common|Shares|RemoteLogin 中提供了 GUI 開關。
您只需將其關閉然後再打開即可。 sshd 將重新啟動並讀取 sshd_config 檔案以反映您的變更。
(雖然這兩個操作都有相應的命令列命令,但我認為您不必費心去了解它們。)