Mac下的 sshd 服務
- 2020 年 4 月 1 日
- 筆記
前言
最近要用到 Mac 下的 sshd 服務, 但每次使用的時候都是出現各種狀況,所以特寫此篇文章對 Mac下的sshd服務做一下梳理。在 Mac 下啟動 sshd 服務的基本流程:
- 在 Mac 系統上打開 ssh 服務許可權
- 修改 sshd 配置
- 在登錄製生成 rsa key
- 將 rsa key 存到 server 端的 ~/.ssh/authorized_keys文件中
- 重啟ssh服務
在Mac上打開sshd訪問許可權
- 勾選 Apple menu > System Preferences > Sharing > Remote Login (啟動台 ->系統偏好設置->共享->遠程登錄)
- 選擇任何人
修改 sshd 配置
在/etc/ssh/sshd_config文件中只需打開下面幾項:
- AuthorizedKeysFile .ssh/authorized_keys 指定被授權的用戶的rsa 加密key存放的位置。
- UsePAM 使用 PAM 進行許可權管理。
- AcceptEnv LANG LC_* 指明本地位置資訊。
- Subsystem sftp /usr/libexec/sftp-server 默認協議。
在客戶端生成 ssh rsa key
- 執行 ssh-genkey -t rsa 命令,然後要求輸入的地方一直回車。
- 打開~/.ssh/id-rsa.pub文件,拷貝裡面的內容。
啟動 sshd 服務
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
停止 sshd 服務
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
查看sshd服務是否啟動
sudo launchctl list | grep ssh
know_hosts 作用
在 Mac 上的~/.ssh/
目錄下有一個 know_hosts文件,裡邊存放了所以你訪問過的 sshd 服務,它是一個緩衝文件。每當你通過 ssh 遠程訪問時,它都會先到這個文件中去查找是否有以前的記錄。
在一些情況下,如果你訪問某台sshd服務出現了錯誤,那麼當你下次訪問時還是報錯,很可能就是這個文件導致的。所以出現類似問題時,你要記得清一下這個文件中的內容。