首頁 > 軟體

SSH無密碼登陸權威指南

2020-06-16 17:54:08

【0】寫在前面

由於SSH 實現的是免密碼登陸,大致步驟是:

0.1) client通過ssh登陸到server;

0.2) server檢查家目錄下的.ssh檔案, 並行送公鑰檔案 authorized_keys 到client ;

0.3) client端 接收到 server 端的公鑰檔案,並用自己的私鑰檔案對 其進行解析,並計算出 新的 公鑰檔案C;

0.4) server段 接收到 client的 公鑰檔案C,並將其與 自身的公鑰檔案,進行匹配,(它有它自己的匹配演算法, 這個你不管),如果匹配成功,則client 成功登陸到server;

(Attention):

看到這裡,不得不說建立ssh 免密碼登陸的中間過程確實很複雜,所以ssh對組態檔的存取許可權,要求相當苛刻。如友人您,不根據本文的存取許可權進行相應設定,使得最終無法建立免密碼登陸,後果自負(這裡只是為了強調 ssh 對 組態檔的存取許可權 要求非常得嚴格!(過來人的感受,僅僅是你組態檔的存取許可權不完全正確,ssh 一直無法實現 正常的免密碼登陸, 很燒精力)

【1】安裝ssh

server installation :sudo yum -y install openssh.i686

client installation: sudo yum -y install openssh-clients

【2】我的任務:Hadoop@hadoop0(Client)免密碼登入到 hadoop@hadoop1(Server)

2.1) 生成需要建立ssh的私鑰和公鑰(client操作)

Attention)

A1) ~/.ssh/ 目錄必須要是 700 的許可權才行!

A2)一個要特別注意的就是那個 id_rsa 的檔案許可權啦!他必須要是 -rw——- !否則在未來金鑰比對的過程當中,可能會被判定為危險而無法成功的以公私鑰成對檔案的機制來達成聯機喔。

(不過預設情況下,建立的檔案都是符合以上要求的)

2.2)在server的家目錄上建立.ssh資料夾,存取許可權設為700(server操作)

2.3)將client的公鑰檔案資料上傳到伺服器上(client操作)

2.4)將server的.ssh資料夾下面的 公鑰檔名改為 authorized_keys,且存取許可權改為 600 or 644(server操作)

2.5) client 免密碼登陸到 server

 

下面關於SSH相關的文章您也可能喜歡,不妨參考下:

Ubuntu 下設定 SSH服務全過程及問題解決 http://www.linuxidc.com/Linux/2011-09/42775.htm

Ubuntu 14.04 下安裝Samba 及SSH 伺服器端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm

SSH服務遠端存取Linux伺服器登陸慢 http://www.linuxidc.com/Linux/2011-08/39742.htm

提高Ubuntu的SSH登陸認證速度的辦法 http://www.linuxidc.com/Linux/2014-09/106810.htm

開啟SSH服務讓Android手機遠端存取 Ubuntu 14.04  http://www.linuxidc.com/Linux/2014-09/106809.htm

如何為Linux系統中的SSH新增雙重認證 http://www.linuxidc.com/Linux/2014-08/105998.htm

在 Linux 中為非 SSH 使用者設定 SFTP 環境 http://www.linuxidc.com/Linux/2014-08/105865.htm

Linux 上SSH 服務的設定和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/122433.htm


IT145.com E-mail:sddin#qq.com