ssh 公鑰認證方式登錄


轉載

原文地址:

http://blog.csdn.net/hunanchenxingyu/article/details/40544513

http://flysnowxf.iteye.com/blog/1567570

一般情況下,我們用ssh遠程登錄到服務器時,要輸入用戶名和密碼。這對經常維護系統的人來說,很麻煩。怎樣才能不用密碼直接登錄到遠程的linux/unix服務器呢?ssh公鑰認證可以解決這個問題。

公鑰認證,是使用一對加密字符串,一個稱為公鑰(public key), 任何人都可以看到其內容,用於加密;另一個稱為密鑰(private key),只有擁有者才能看到,用於解密。 通過公鑰加密過的密文使用密鑰可以輕松解密,但根據公鑰來猜測密鑰卻十分困難。

在使用公鑰認證之前,先檢查一下服務器的ssh配置文件/etc/ssh/sshd_config

RSAAuthentication yes           #啟用 RSA 認證,默認為yes
PubkeyAuthentication yes      #啟用公鑰認證,默認為yes
AuthorizedKeysFile     .ssh/authorized_keys  

然后再在客戶機上生成公鑰和私鑰:

 cd ~/.ssh                       #切換到ssh目錄
ssh-keygen -t rsa            #以rsa的加密方式生成秘鑰對 

此時出現:

Enter file in which to save the key (/home/client/.ssh/id_rsa): 

直接按enter即可,或者自己命名一個文件來存儲生成的秘鑰對。(注意使用公鑰連接服務器,默認指定的秘鑰文件名為id_rsa和id_rsa.pub,如果指定其他名可能需要修改ssh配置文件)

將生成的公鑰id_rsa.pub里的內容復制到服務端authorized_keys(新加一行)

重啟ssh服務,到此即可通過公鑰來訪問服務器了

 

ssh可同時支持publickey和password兩種授權方式,publickey默認不開啟,需要配置為yes。 
如果客戶端不存在.ssh/id_rsa,則使用password授權;存在則使用publickey授權;如果publickey授權失敗,依然會繼續使用password授權。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM