SSH為遠程登錄及會話提供了安全保障,通過ssh-keygen創建SSH 密鑰可以實現本地機與服務器,或兩臺服務器之間的無密登錄。
操作準備本地機操作服務器操作無密碼登錄1.操作準備
簡單的說,通過SSH 密鑰可以使用兩臺電腦之間的安全無密碼登錄。在本文,通過本地機和服務器做操作演示,實現了本地機無密碼登錄遠程服務器。
實現無密碼登錄,需要完成以下操作:
本地機使用ssh-keygen命令創建SSH公鑰和私鑰。服務器使用ssh-keygen命令創建SSH公鑰和私鑰。服務器.ssh目錄下建立authorized_keys文件,并將本地機的SSH公鑰(.pub文件)內容粘貼到其中。使用ssh-keygen命令建立SSH密鑰時,可以使用rsa或dsa加密,本文使用了rsa加密方式。ssh-keygen命令詳細介紹請參考:ssh-keygen生成git ssh密鑰
2. 本地機操作
使用ssh-keygen建立本地機(客戶端)的SSH 密鑰:
ssh-keygen -t rsa輸入以上命令后,按三次回車,SSH 密鑰創建完成。
創建完成后,當前登錄用戶的根目錄下會生成~/.ssh目錄,目錄中包含私鑰和公鑰兩個文件id_rsa和id_rsa.pub。
注:如果之前創建過SSH 密鑰,也可以直接使用。
3. 服務器操作
3.1 創建SSH 密鑰
登錄服務器,使用ssh-keygen建立服務器(服務端)的SSH 密鑰:
ssh-keygen -t rsa輸入上面命令,按三次回車,SSH 密鑰創建完成。創建完成后,也會在目錄下~/.ssh生成公鑰和私鑰兩個文件。
切換到~/.ssh目錄繼續操作:
cd ~/.ssh3.2 建立授權文件authorized_keys
創建完成服務端的SSH 密鑰后,還需要建立授權文件authorized_keys,并將客戶端公鑰id_rsa.pub文件內容粘貼到其中。
創建authorized_keys文件:
vi authorized_keys在客戶端使用cat命令,輸出id_rsa.pub文件內容:
cat id_rsa.pub將id_rsa.pub文件內容粘貼到authorized_keys文件,保存退出authorized_keys文件。
也可以將客戶端id_rsa.pub文件復制到服務器,并執行下面命令,將其內容復制到authorized_keys授權文件中:
cat id_dsa.pub >> ~/.ssh/authorized_keys4. 無密碼登錄 執行su命令,切換到root帳號。編輯以下配置文件:
vim /etc/ssh/sshd_config找到如下三行,并去掉注釋#:
#RSAAuthentication yes#PubkeyAuthentication yes#AuthorizedKeysFile .ssh/authorized_keys重啟sshd服務:
service sshd restart -完成上述操作后,本地機就已經具備了無密碼登錄服務器的條件。
登錄測試,在本例中,使用的root登錄了 ip為192.168.0.9的服務器,用戶可根據實際情況自行調整:
ssh -l root 192.168.0.9如果上述操作沒有問題,被授權機器(客戶端)通過ssh命令登錄或scp復制文件到服務器時,可以直接登錄或復制,不在需要輸入登錄密碼。
新聞熱點
疑難解答