MAC下使用 iterm2 免密登入伺服器

HiSummer發表於2019-01-31

MAC下使用 iterm2 免密登入伺服器

寫作約定

$:代表伺服器環境

>:代表本機環境

{Users}:代表本機使用者名稱

<Users>:代表伺服器登入使用者名稱

開篇

眾所周知,登入伺服器有兩種驗證,密碼驗證以及證書驗證。本文以證書驗證的方式展開講解。

絕大部分時候我們通過耳熟能詳的工具可以實現快速登入。例如:

Windows 下:Putty、Xshell、SecureCRT、Finalshell

Mac 下:自帶終端、Putty、SecureCRT、Finalshell

大家可以根據實際情況選擇一款或多款作為日常工具。

證書好處不僅在於可以 安全 的訪問伺服器,並且在操作大量伺服器的時候顯得更 快速

本地配置證書

  1. 開啟 iterm2
  2. 檢視是否有 SSH 證書
> cd ~/.ssh
複製程式碼

如果提示 cd: no such file or directory: /Users/{Users}/.ssh 則需要先配置 SSH 證書

  1. 配置證書(若已有則跳過本步)

輸入下列命令(郵箱可以任意填寫)並連按三次回車

> ssh-keygen -t rsa -C "xx@xx.com"
複製程式碼

預設會在 ~/.ssh目錄生成兩個檔案: id_rsa(私鑰),id_rsa.pub(公鑰)

修改伺服器 sshd 配置

  1. 使用 vi 編輯配置檔案
$ sudo vi /etc/ssh/sshd_config 
複製程式碼
  1. 分別取消一下內容的註釋
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys 
複製程式碼
  1. 儲存配置檔案
  2. 重啟sshd服務
$ sudo /sbin/service sshd restart 
複製程式碼

匯入公鑰到伺服器認證檔案及修改許可權

  1. 將本機公鑰匯入伺服器
> ssh-copy-id <Users>@host
複製程式碼
  1. 這時會提示輸入目標伺服器密碼,正確輸入即可
  2. 修改伺服器相關檔案及目錄的許可權
$ sudo chmod 700 ~/.ssh 

$ sudo chmod 600 ~/.ssh/authorized_keys
複製程式碼
  1. 測試是否成功
> ssh '<Users>@host'
複製程式碼

將伺服器新增至 iterm2 列表

  1. 開啟 iterm2
  2. Command + P 喚醒 Profiles
  3. 點選 Edit Profiles
  4. 點選左下角 + ,根據個人喜好填寫好 Name 欄位,並在 Command 欄位中輸入: ssh '@host'
  5. 最後通過 Command + shift + O 開啟搜尋框輸入寫好的 Name 即可快速訪問

Enjoy it!

相關文章