CentOS下SSH配置無密碼登入

來源:互聯網
上載者:User

如果沒有安裝SSH服務,通過命令安裝:

sudo apt-get install ssh
啟動SSH服務:

service sshd restart
SSH無密碼登入的原理如下

假設A機器想要通過SSH無密碼登入訪問B機器,則需要在A機器上產生一對秘鑰(公開金鑰+私密金鑰),而後將公開金鑰複製到B機器上;

當A機器通過SSH連結B機器時,B機器就會產生一個隨機數,並且使用A機器的公開金鑰(通過上一步拷貝,B機器上有A機器公開金鑰的拷貝)對隨機數進行加密,並把加密的“密文”回送給A機器;

A機器收到密文後,用自己的私密金鑰解密,把解密後的“明文”(其實就是那個隨機數)再回送給B機器;

B機器收到A機器發過來“明文”後,與自己擁有的那一份比對確認,當確認通過後允許A機器連結自己;

(整個過程是個公開金鑰認證過程,無需密碼輸入,從SSH協議角度講,A是用戶端,B是伺服器端)

所以,問題的關鍵就是,如何在A機器上產生金鑰組,並且把公開金鑰發到B機器。

配置步驟

第一:在A機器產生秘鑰對

ssh-keygen -t rsa
則在/root/.ssh/目錄下會有兩個檔案:id_rsa與id_rsa.pub

第二:把id_rsa.pub拷貝到本目錄下一個名叫authorized_keys的檔案

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第三:分別設定.ssh目錄和 authorized_keys檔案的許可權

chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
上面操作完成後,則完成了A機器到本機(A機器)的SSH密碼登入,現在要使A無密碼SSH登入B,

第四:在B機器建立.ssh目錄與authorized_keys檔案,並且雷同第三步修改許可權

第五:通過scp把A機器上的id_rsa.pub拷貝到B機器,並且追加到B機器的authorized_keys檔案下

(完成上面步驟,則完成了A機器到B機器的無密碼SSH登入)


當在一個由多台機器組成的叢集中,我們想每兩兩之間都能實現SSH無密碼登入,則可以規划上面的產生流程:

第一:在所有機器上產生秘鑰對;

第二:迭代把自己的id_rsa.pub拷貝到其他機器,並且追加到authorized_keys檔案;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.