MAC下使用 iterm2 免密登入伺服器
$
:代表伺服器環境
>
:代表本機環境
{Users}
:代表本機使用者名稱
<Users>
:代表伺服器登入使用者名稱
開篇
眾所周知,登入伺服器有兩種驗證,密碼驗證以及證書驗證。本文以證書驗證的方式展開講解。
絕大部分時候我們通過耳熟能詳的工具可以實現快速登入。例如:
Windows 下:Putty、Xshell、SecureCRT、Finalshell
Mac 下:自帶終端、Putty、SecureCRT、Finalshell
大家可以根據實際情況選擇一款或多款作為日常工具。
證書好處不僅在於可以安全 的訪問伺服器,並且在操作大量伺服器的時候顯得更快速
本地配置證書
- 開啟iterm2
- 檢視是否有 SSH 證書
> cd ~/.ssh 複製程式碼
如果提示cd: no such file or directory: /Users/{Users}/.ssh
則需要先配置 SSH 證書
- 配置證書(若已有則跳過本步)
輸入下列命令(郵箱可以任意填寫)並連按三次回車
> ssh-keygen -t rsa -C "[email protected]" 複製程式碼
預設會在 ~/.ssh目錄生成兩個檔案: id_rsa(私鑰),id_rsa.pub(公鑰)
修改伺服器 sshd 配置
- 使用 vi 編輯配置檔案
$ sudo vi /etc/ssh/sshd_config 複製程式碼
- 分別取消一下內容的註釋
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 複製程式碼
- 儲存配置檔案
- 重啟sshd服務
$ sudo /sbin/service sshd restart 複製程式碼
匯入公鑰到伺服器認證檔案及修改許可權
- 將本機公鑰匯入伺服器
> ssh-copy-id <Users>@host 複製程式碼
- 這時會提示輸入目標伺服器密碼,正確輸入即可
- 修改伺服器相關檔案及目錄的許可權
$ sudo chmod 700 ~/.ssh $ sudo chmod 600 ~/.ssh/authorized_keys 複製程式碼
- 測試是否成功
> ssh '<Users>@host' 複製程式碼