ssh兩種登錄方式

ssh是什麼?

    允許實現對遠程系統經驗證地加密安全訪問。

ssh的服務登錄驗證方式:

    用戶/口令

    基於密鑰

基於用戶和口令登錄驗證:

    1、客戶端發起ssh請求,服務器會把自己的公鑰發送給用戶

    2、用戶會根據服務器發來的公鑰對密碼進行加密

    3、加密後的信息回傳給服務器,服務器用自己的私鑰解密,如果密碼正確,則用戶登錄成功

基於密鑰的登錄方式:

    1、首先在客戶端生成一對密鑰(ssh-keygen)

    2、並將客戶端的公鑰ssh-copy-id 拷貝到服務端

    3、當客戶端再次發送一個連接請求,包括ip、用戶名

    4、服務端得到客戶端的請求後,會到authorized_keys中查找,如果有響應的IP和用戶,就會隨機生成一個字符串,例如:acdf

    5、服務端將使用客戶端拷貝過來的公鑰進行加密,然後發送給客戶端

    6、得到服務端發來的消息後,客戶端會使用私鑰進行解密,然後將解密後的字符串發送給服務端

    7、服務端接受到客戶端發來的字符串後,跟之前的字符串進行對比,如果一致,就允許免密碼登錄

密鑰登錄的配置過程:

   1、在客戶端生成密鑰對

        ssh-keygen -t rsa [-P ''] [-f “~/.ssh/id_rsa"]

                -P---對私鑰加密的口令,可以不指定

                -f----指定文件 默認家目錄的.ssh下,隱藏文件

            wKioL1m4_qfxHxLpAAAjeZu6o2Q013.png

   2、把公鑰文件傳輸至遠程服務器對應用戶的家目錄,這樣就可以直接登錄 無需輸入密碼。

     wKiom1m4_2_w6RqWAAFTgAIdFiE468.png

    注意:如果在生成密鑰對的時候-P 加入了密碼,ssh連接的時候 需要輸私鑰的密碼----------重設私鑰口令:ssh-keygen -p

      如果你不想輸入密碼直接登錄,可以託管 1、ssh-agent bash

                                                                    2、ssh-add              -----------僅生效一次退出需重新設置

SecureCRT基於密鑰登錄

    上面的配置過程是在linux之間基於key認證登錄,但是在實際生產過程中,我們都是用虛擬客戶端登錄,其實這些客戶端裏也有這個功能,下面我們介紹一下。

    1、在SecureCRT菜單界面上找到Tools-->Create Public Key-->選擇加密方式,默認是RSA-->輸入加密密碼-->選擇加密長度,默認是2048-->生成後選擇保存方式爲OpenSSH Key format(new),選擇保存路徑。    

    2、生成公鑰文件後通過rz上傳至服務器

    3、把公鑰文件追加到.ssh/authorized_keys文件中:cat Identity.pu >> .ssh/authorized_keys

     注意:1、如果生成過程中最後一步選擇的是Standard Public Key and VanDyke Private Key format,需要執行下面這條命令進行轉化

                 ssh-keygen-i-f Identity.pub >> .ssh/authorized_keys

                2、爲了保證密鑰的安全性,保證權限必須爲600

    4、現在可以使用SecureCRT,在ssh2選項裏去只勾選Publickey,雙擊就可以直接登錄了。

    5、基於xshell前段時間被曝出有漏洞,這裏推薦大家使用SecureCRT,xshell的實現方式基本與CRT相似。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章