# MAC 設定快速SSH,不用再記冗長的IP與PORT位址 ## Step1: 新增一個公私鑰 先在切換到ssh下的目錄 ```shell cd ~/.ssh ``` 切換到ssh的目錄後,產生公鑰私鑰(RSA),輸入以下指令 ```shell ssh-keygen ``` 在產生金鑰的過程中,會詢問一些問題,對於一般的使用者而言,全部都使用預設值(直接按下 Enter 鍵)即可。 ```shell Enter passphrase (empty for no passphrase): ``` 指定金鑰保護密碼,如果有設定密碼的話,**以後每次使用都要輸入密碼**,除你需要非常高的安全性,否則就不用設定了,直接按下 Enter 鍵即可。 這裡會顯示金鑰的指紋(fingerprint)與 randomart,而產生的金鑰會有兩個檔案: - `id_rsa.pub`:公開金鑰(public key),這是可以對外公開的金鑰,之後要將它放在遠端的 Linux 伺服器上作認證使用。 - `id_rsa`:私密金鑰(private key),這是要保護好的金鑰,它等同於你的 Linux 密碼,放在自己的電腦中。 ## Step2: 將公鑰放入Server 它預設會將 ~/.ssh/id_rsa.pub 這個公開金鑰複製到伺服器上,若要指定使用的金鑰,可以使用 -i 參數: ```shell ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST ``` 成功後連入這個Server就不用輸入密碼,下一步則是如何用一個簡單的名稱紀錄這個Server。 ## Step3: 新增Server快捷 之後一樣在local端的`~/.ssh`資料夾下,新增一個config檔案 ```shell touch config ``` 並將你的USER@HOST打成下列形式: ```shell Host nickname HostName 123.123.123.123 Port 22100 User 12345678 IdentityFile ~/.ssh/id_rsa ``` 1. Host: 方便記憶這個Server的簡稱,以後輸入這個可以直接連 2. HostName: Server的IP位址 3. Port: 服務的端口 4. User: User Name 5. IdentityFile: local端的私鑰位址,要用這個key認證Server的公鑰 ## Step4: 快速登入 大功告成啦!之後只要輸入`ssh nickname`就可以不用輸入密碼並用好記的名稱登入Server了! ## 參考資料 - [SSH 公開金鑰認證:不用打密碼登入 Linux 設定教學,安全又方便](https://blog.gtwang.org/linux/linux-ssh-public-key-authentication/) - [How to create an ssh connection Terminal shortcut on Mac OS X?](https://superuser.com/questions/76193/how-to-create-an-ssh-connection-terminal-shortcut-on-mac-os-x)