SSH證書登錄方式(無password驗證登錄)


        經常在工作中須要在各個Linux機間進行跳轉,每次password的輸入成了麻煩,並且也不安全。在實際使用中,在windows下常使用secureCRT工具或teraterm工具進行SSH登錄。以及實現hadoop集群部署要求的無password跳轉問題。

        SSH分為有password登錄和證書登錄。考慮到安全性因素,一般都是採用證書登錄。即:每次登錄無需輸入password。

假設是password登錄,非常easy遭受到外來的攻擊。

一、證書登錄的過程:

       1.client生成證書的私鑰和公鑰。

         私鑰放在client。公鑰上傳到服務端(遠程登陸端)。

        一般為了安全,訪問有黑客拷貝client的私鑰。client在生成私鑰時。會設置一個password,以后每次登錄sshserver時,client都要輸入password解開私鑰(假設工作中,你使用了一個沒有password的私鑰,有一天server被黑了,你是跳到黃河都洗不清)。

        2.server加入信用公鑰。

        把client生成的公鑰,上傳到sshserver,加入到指定的文件里。這樣,就完畢ssh證書登錄的配置了。

        如果client想通過私鑰要登錄其它sshserver,同理。能夠把公鑰上傳到其它sshserver。

       

        實際應用舉例:

        工生成好私鑰和公鑰(千萬要記得設置私鑰password)。然后把公鑰發給運維人員,運維人員會登記你的公鑰。為你開通一台或者多台server的權限。然后員工就能夠通過一個私鑰,登錄他有權限的server做系統維護等工作。所以。員工是有責任保護他的私鑰的。假設被別人惡意拷貝。你又沒有設置私鑰password。那么,server就全完了,員工也能夠放長假了。

二、證書登陸實例

  環境:A通過ssh方式登陸B。即:A為本地機,B為遠程登陸server

           1.A機配置

          ①生成公鑰和私鑰

             # ssh-keygen -t rsa           (連續三次回車,即在本地生成了公鑰和私鑰,不設置password)

         ②將公鑰拷到B端
         # scp  root@B的iP:root/.ssh/id_rsa.pub  ./.ssh/id_rsa.pub  (須要輸入password)

       2.B機配置

         ①創建authorized_keys2文件

         # touch /root/.ssh/authorized_keys2      (假設已經存在這個文件, 跳過這條)

        ②追加公鑰到authorized_keys2中

        # cat /root/.ssh/id_rsa.pub   >> /root/.ssh/authorized_keys2 (將id_rsa.pub的內容追加到 authorized_keys2 中)

       3.SSH證書登陸驗證

       # ssh root@B的iP           (由於沒有設置私鑰password, 所以不須要password, 登錄成功)

三、其它應用場景:

       SecureCRT密鑰key遠連接程ssh證書登錄Linux

       國內大部分人用的系統是windows,而windows下有非常多sshclient圖形工作,最流行,功能最強大的就是SecureCRT了,所以我會單獨針對SecureCRT簡單講下實現ssh證書登錄Linux的要點,過程例如以下:

      1:在SecureCRT創建私鑰和公鑰:

        主菜單->工具->創建公鑰->選擇RSA->填寫私鑰的password->密鑰長度填為1024->點擊完畢,生成兩個文件,默認名為identity和identity.pub

       2.把私鑰和公鑰轉換為OpenSSH格式:

         主菜單->工具->轉換私鑰到OpenSSH格式->選擇剛生成私鑰文件identity->輸入私鑰的password->生成兩個文件,指定為id_rsa, id_rsa.pub 

      3.把公鑰id_rsa.pub上傳到sshserver,依照之前配置server端的證書,再配置一次。

      另外,假設你之前用windows的 SecureCRT的證書登錄linux的,有一天你換成了linux,並希望通過原來的私鑰登錄公司的server,那么能夠把id_rsa拷貝倒~/.ssh/文件夾下。

      備注:

      ssh對證書的文件和文件夾權限比較敏感,要么依據出錯提示設置好文件和文件夾權限。要么是把StrictModes選項設置為no。

      hadoop部署的無passwordssh登錄

        hadoop要求master要無password跳轉到每一個slave,那么master就是上文中的sshclient了。過程例如以下:

        1.在hadoop master上,生成公鑰私鑰。這個場景下。私鑰不能設置password。

        2.把公鑰上傳到每一個slave上指定的文件夾。這樣就完畢了ssh的無password跳轉了。

四、總結:

       ssh證書登錄,在實際工作才是最經常使用的登錄方式,本人結合了真正工作的場景普及了ssh證書登錄的知識,並依據流行的hadoop部署和windows下最經常使用的SecureCRT實例解說了證書登錄。


免責聲明!

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



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