LINUX SSH 建立密鑰對


配置私鑰和公鑰

先檢查一下服務器的ssh配置文件

/etc/ssh/sshd_config

RSAAuthentication yes # 啟用 RSA 認證 默認為 yes

PubkeyAuthentication yes # 啟用公鑰認證,默認為yes

在客戶端執行命令  ssh-keygen -t rsa 生成密鑰,會生成一個私鑰和一個公鑰文件,在提示輸入 passphrase 時如果不輸入,直接回車,那么以后你登錄服務器就不會驗證密碼,否則會要求你輸入 passphrase,默認會將私鑰放在 /root/.ssh/id_rsa 公鑰放在 /root/.ssh/id_rsa.pub。

windows 下面是一樣的命令 我這里用的是git的命令窗口:

密鑰文件會保存到,C:\Users\你的用戶名\.ssh 文件夾下面

將公鑰拷貝到遠程服務器上的/root/.ssh/authorized_keys文件中,注意,文件名一定要叫authorized_keys。如果有多個客戶端,將多個公鑰以換行分開,一行一個客戶端。

客戶端上保留私鑰,公鑰可以刪除。服務器上保存公鑰,客戶端上保存私鑰。這樣就可以實現無密碼驗證登錄了。

如果想要獲得最大化的安全性,禁止口令登錄,

可以修改 /etc/ssh/sshd_conf 中的

PasswordAuthentication yes 改為

PasswordAuthentication no

即只能使用密匙認證的 openssh,禁止使用口令認證。

如果希望ssh公鑰生效需滿足至少下面兩個條件:

1) .ssh目錄的權限必須是700

2) .ssh/authorized_keys文件權限必須是600

 


免責聲明!

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



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