使用ssh登錄伺服器的時候,需要輸入ip地址、埠、用戶名、密碼等信息,比較麻煩,容易輸錯。還好,通過客戶端和伺服器的配置參數,可實現免密碼快速登錄。伺服器可通過保存客戶端的公鑰,用於驗證客戶端的身份,從而省去輸入密碼的步驟。客戶端也可通過配置伺服器參數來簡化登錄命令。本文主要是記錄了ssh面密碼快 ...
使用ssh登錄伺服器的時候,需要輸入ip地址、埠、用戶名、密碼等信息,比較麻煩,容易輸錯。還好,通過客戶端和伺服器的配置參數,可實現免密碼快速登錄。伺服器可通過保存客戶端的公鑰,用於驗證客戶端的身份,從而省去輸入密碼的步驟。客戶端也可通過配置伺服器參數來簡化登錄命令。
本文主要是記錄了ssh面密碼快速登錄的配置過程,主要分為以下幾個步驟。
- 客戶端生成密鑰,包括私鑰和公鑰。
- 在伺服器中配置客戶端的公鑰。
- 在客戶端配置伺服器登錄相關參數。
本文示例中的伺服器ip地址為192.168.1.1,ssh埠為22。
客戶端生成密鑰
客戶端生成密鑰的方法很簡單,只需要使用ssh-keygen命令。
ssh-keygen -t rsa
生成密鑰過程中,建議採用預設值,只需要按三次回車之後,就會再~/.ssh目錄下生成密鑰文件,其中,id_rsa為私鑰,id_rsa.pub為公鑰。
伺服器配置
伺服器的~/.ssh/authorized_keys文件保存可快速連接的客戶端的公鑰。只需把客戶端生成的id_rsa.pub文件的內容拷貝到authorized_keys文件的末尾。拷貝的方法有:
- 直接拷貝。由於id_rsa.pub和authorized_keys都是文本文件,可通過拷貝命令直接拷貝。
- 把id_rsa.pub上傳到伺服器,然後再把內容添加到authorized_keys文件中。
在客戶端把文件上傳到伺服器的用戶目錄的操作命令如下:
scp ~/.ssh/id_rsa.pub root@192.168.1.1:
在伺服器操作的命令如下:
cat id_rsa.pub >> ~/.ssh/authorized_keys
配置好之後,登錄伺服器就不再需要密碼了。
在客戶端配置伺服器登錄相關參數
除了密碼之外,登錄時,還需要配置ip地址、埠、用戶等信息,也比較繁瑣。可通過客戶端的~/.ssh/config配置伺服器的相關參數簡化登錄命令。
config文件的配置內容如下:
Host server Hostname 192.168.1.1 Port 22 User bingoli
其中,Host為伺服器的名稱,輸入登錄命令時使用,後續登錄只需要記住這個名字就可以;Hostname為伺服器的ip地址;Port為ssh的埠;User為伺服器的用戶名。配置好相關參數之後,就可以使用簡化的命令登錄伺服器了。
ssh server
從此以後,登錄伺服器就簡單多了。
關於作者
bingoli
原文地址:https://www.cnblogs.com/bingoli/p/10567734.html