Linux配置SSH免密碼登錄


CentOS配置SSH免密碼登錄為例
說明:SSH遠程登錄的安全外殼協議有兩種身份認證機制:
- 用戶名+密碼
-密鑰登錄
環境准備

host1:192.168.0.10
host2:192.168.0.11
下面以host1 ssh免密碼登錄到host2為例,進行說明
1、在host1主機下生成私鑰/公鑰對
執行如下命令一直回車即可。

[user@localhost ~]$ ssh-keygen -t rsa

命令執行完成后,在/home/user下生成.ssh目錄,.ssh目錄下有id_rsa和id_rsa.pub兩個文件。

2、將host1主機下的id_rsa.pub復制到host2主機下
[user@localhost ~]$ scp .ssh/id_rsa.pub user@192.168.0.11:~

此時還沒有免密碼登錄,所以要輸入host2的密碼

3、host2主機須將復制過來的id_rsa.pub文件中的內容添加到/home/user/.ssh/authorzied_keys文件中
需要修改authorized_keys文件的權限為600

[user@localhost ~]$ cat id_rsa.pub >> .ssh/authorized_keys

[user@localhost ~]$ chmod 600 .ssh/authorized_keys

現在host1主機可以無密碼登錄host2主機了
說明:第2、3步可以用一個命令搞定:ssh-copy-id 192.168.0.11

4、驗證host1主機登錄到host2主機
[user@localhost ~]$ ssh 192.168.0.11

總結:登錄的機子可有私鑰,被登錄的機子要有登錄機子的公鑰。這個公鑰/私鑰對一般在私鑰宿主機產生。
上面是用rsa算法的公鑰/私鑰對,當然也可以用dsa(對應的文件是id_dsa,id_dsa.pub)
想讓host1,host2機無密碼互登錄,那host2主機以上面同樣的方式配置即可。


免責聲明!

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



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