此篇文章瀏覽量:
162
一般使用 ssh 連線方式來遠端連線至其它伺服器時,都要再輸入密碼,那有沒有其它方式,可以不用輸入密碼就直接登入呢?這時 ssh key 就可以派上用場了。
使用原理
使用 ssh-keygen 指令可以產生一組公鑰及私鑰(預設會存在 ~/.ssh 資料夾下),分別是檔案形式,公鑰檔可以傳到任何想直接登入的伺服器,而私鑰檔存在自己的電腦,不要任意給其它人,這樣就可以在自己的電腦當中,直接使用這組 key 來 ssh 連線至其它的伺服器,就不需要輸入密碼。
建立 ssh key
透過以下指令,會直接在預設的 ~/.ssh 資料夾下,建立 id_rsa 及 id_rsa.pub 這兩個檔案,分別是私鑰及公鑰。
$ ssh-keygen
另一種方式,也可以透過以下指令,指定存在哪個資料夾及指定檔名,就會在 ~/Documents/test_key 資料夾下,建立 your_rsa 及 your_rsa.pub 這兩個檔案,分別是私鑰及公鑰。
$ ssh-keygen -f ~/Documents/test_key/your_rsa
如何複製 public key
使用以下指令,就可以將 your_rsa.pub 檔案的內容,複製到剪貼簿,可以再任意的文字編輯器當中直接輸入 cmd + v(貼上),即可看到內容(假設已移到檔案所在路徑):
$ pbcopy < ./webmix_rsa.pub
如何直接複製 public key 到指定的伺服器
使用 ssh-copy-id 工具,執行以下指令,就會將 webmix_rsa.pub 這個公鑰的內容,傳到 user@host 的 ~/.ssh/authorized_keys 檔案之中:
$ ssh-copy-id -i ~/webmix_rsa.pub user@host