CentOS SSH免密碼登入詳解

2021-07-15 13:07:18 字數 1341 閱讀 5138

在網上看到很多關於ssh免密登入的文章,但還是有部分同學在具體操作過程中出現問題,現在按照實際步驟一步一步進行說明:

前置說明:

假設現有三颱機器,機器a、b、c,其中機器a需要ssh免密登入到其他機器;

1、首先修改ssh配置檔案,機器a、b、c均需要進行修改;

首先修改機器a:

sudo vi /etc/ssh/sshd_config

將以下三個專案之前的注釋符號(#)去掉:

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile .ssh/authorized_keys

這三個配置項主要是允許公鑰檔案的rsa授權,授權檔案為:.ssh/authorized_keys

修改完成後重啟ssh服務,使配置生效;

service sshd restart

同樣的方式修改機器b、c的配置檔案;

2、檢查是否存在.ssh資料夾

檢查機器b、機器c在使用者的根目錄下(也就是:cd ~)是否存在.ssh資料夾,如果沒有則建立;

3、生成ssh公鑰、私鑰檔案,並分發至其他主機

在機器a上生成無密碼的ssh公鑰、私鑰檔案:

ssh-keygen -t rsa

無需輸入任何資訊,一路回車即可,生成完成後會在使用者根路徑下的ssh目錄(cd ~/.ssh)發現:id_rsa、id_rsa.pub兩個檔案;

將ssh公鑰匯入到本機ssh驗證檔案:

cat id_rsa.pub >> authorized_keys

將機器a的ssh公鑰分發至機器b、機器c:

scp id_rsa.pub  實際的使用者名稱@機器b的ip:~/.ssh/authorized_keys

scp id_rsa.pub 實際的使用者名稱@機器c的ip:~/.ssh/authorized_keys

{}部分的內容用實際內容替換;

4、檢查檔案、資料夾許可權:

.ssh資料夾必須700許可權,authorized_keys檔案必須600許可權;

chmod 700 .ssh

chmod 600 authorized_keys

機器a、b、c均要進行檢查

完成以上操作就可以直接ssh 機器b或機器c的ip位址進行測試,首次連線需要輸入yes確認連線。

centos SSH免密碼登入 使用公鑰

vi etc ssh sshd config 找到以下內容,並去掉注釋符 rsaauthentication yes pubkeyauthentication yes authorizedkeysfile ssh authorized keys sbin service sshd restart 1...

Centos ssh 免密登入

主機a 192.168.1.200 主機b 192.168.1.201 1 在a主機下生成公鑰 私鑰對。192.168.1.200 root 200 ssh keygen t rsa 注 t表示key的型別,rsa表示key型別 p表示密碼,p 就表示空密碼,這裡不需要輸入密碼,輸入密碼的話ssh時...

Centos ssh私鑰免密登入

為了更高等級的伺服器安全,一般情況下我們都不讓伺服器使用賬號密碼來登入,下面我們來看一下怎麼樣使用私鑰來免密登入。新增使用者 登入伺服器後建立使用者,如 adduser testuser 設定許可權 如果需要給該使用者root許可權,則可將使用者加入到sudoers中 chmod v u w etc...