寫作約定
$
:代表伺服器環境
>
:代表本機環境
{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 "xx@xx.com"
複製程式碼
預設會在 ~/.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'
複製程式碼
將伺服器新增至 iterm2 列表
- 開啟 iterm2
Command
+P
喚醒 Profiles- 點選 Edit Profiles
- 點選左下角 + ,根據個人喜好填寫好 Name 欄位,並在 Command 欄位中輸入: ssh '@host'
- 最後通過
Command
+shift
+O
開啟搜尋框輸入寫好的 Name 即可快速訪問