SSH秘鑰對登入

2021-07-08 11:22:53 字數 1708 閱讀 9105

這裡的ssh秘鑰對登入是在linux中配置hadoop時用到的,為了使各個伺服器之間能夠無密碼的相互通訊,但同樣也可用在兩台linux之間的相互通訊,也可用在伺服器管理人員無密碼遠端登入伺服器,這樣做既安全又方便。

這裡把兩台伺服器作為實驗物件,一台成為ssh客戶機,一台成為ssh伺服器;大致流程是先在ssh客戶機(也就是客戶端)上建立金鑰對,然後上傳公鑰檔案到ssh伺服器,然後將公鑰資訊匯入到公鑰庫檔案 (家目錄/.ssh/authorized_keys)中,注意不要寫錯檔案庫,最後在客戶端使用私鑰進行登入伺服器。具體步驟如下:

步驟一:使用ssh-keygen   -t   rsa 命令建立秘鑰對,分別為:id_rsa(私鑰檔案)和id_rsa.pub(公鑰檔案),金鑰對儲存在(/root/.ssh/)中,可以使用(cd   .ssh/ ,  ll )檢視;

步驟二:執行scp   id_rsa.pub    [email protected]:/root (根據自己的主機位址寫,這裡的ip位址為ssh伺服器的ip)命令,將公鑰上傳到服務端的/root/目錄下;

步驟三:把公鑰放到某乙個使用者的authorized_keys中,放到哪個使用者下就可以讓哪個使用者登入。本例中放在root使用者下,如果root使用者下沒有.ssh目錄,就建立乙個。具體指令如下:

mkdir   .ssh    //建立目錄

cat      id_rsa.pub  //讀一下公鑰內容

cat    id_rsa.pub   》   .sh/authorized_keys     //把公鑰檔案內容追加到authorized_keys中

這樣做的目的有利於多個客戶端登入,如果單純把id_rsa.pub改名為authorized_keys放到.ssh中,就只能允許乙個客戶端登入(伺服器一般都是多使用者進行管理);到這裡基本上ssh金鑰對登入就配置完成了,但是為了安全起見,一般還要進行一下的配置

步驟四:由於linux中有乙個強制安全的增強元件selinux服務,而root建立的authorized_keys的許可權預設為644(rw_r__r__),selinux會認為它不安全強制使用者把許可權修改為600(rw_______)。

步驟五:selinux對linux系統影響太大,對於初學者不太適合,所以可以把它關掉。具體方法如下:

vi  /etc/selinux/config     //進入selinux的配置檔案,把預設的『selinux=enforcing』 修改為『selinux=disabled』,然後重啟linux系統。

步驟六:修改伺服器端ssh配置檔案:

vi   /etc/ssh/sshd_config

rsaauthentication   yes    把這行前面的注釋號(『#』)去掉,表示開啟rsa驗證

pubkeyauthentication  yes    同樣把這行的注釋號去掉,表示公鑰驗證開啟。

authorizedkeysfile      .ssh/authorized_keys      去掉注釋號,允許使用公鑰驗證檔案的儲存位置。

passwordauthentication   no(預設為yes)   進製使用密碼驗證登入(可選)

service  sshd  restart    // 重啟ssh服務

注意:在使用遠端工具xshell登入時,只需要把id_rsa拷貝出來,然後在xshell的使用者身份驗證中將password驗證方式改為public key,將拷出來的id_rsa匯入到使用者秘鑰就可以登入了。另外在hadoop中配置時只要重複以上過程配置完所有的伺服器即可。

ssh 秘鑰別名登入

ssh登入提供兩種認證方式 口令 密碼 認證方式和金鑰認證方式。其中口令 密碼 認證方式是我們最常用的一種,本文將介紹金鑰認證方式及使用別名快速登入。使用金鑰別名登入分為4步 生成金鑰 公鑰與私鑰 上傳秘鑰至遠端伺服器 金鑰登入 別名登入 系統執行ssh keygen t rsa命令,生成金鑰檔案 ...

SSH秘鑰遠端登入

基於ssh遠端登陸 客戶端首次遠端登入機器的時候會把遠端機器的公鑰儲存在 ssh know hosts,以後每次登陸到某伺服器的時候都會對比遠端機器的公鑰和存在本機的該伺服器的公鑰,如果不同就會終止登陸,防止黑客偽裝伺服器 基於秘鑰遠端登陸 1.ssh key使用非對稱加密方式生成公鑰和私鑰 2.私...

SSH免秘鑰登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...