1. 程式人生 > >Centos 7 SSH 無密碼登錄

Centos 7 SSH 無密碼登錄

開發 href entos win aos ase tro 方式 操作

Centos 7 SSH 無密碼登錄

Centos7 SSH 無密碼登錄

需求

本人購買的阿裏雲 ECS, 用來做一些技術訓練與部署自己開發的應用,所以要經常通過 SSH 連接到服務器進行應用部署與維護。
雖然 xshell 有 用戶名/密碼 加密保存的功能,但個人更喜歡 putty(沒有多余的功能,專註工作),而且 xshell 沒有 mac 版。
所以,迫切需要有一種方法能夠免密碼登錄到雲服務器,而且隨處可用

方案

使用"公私鑰"認證的方式來進行ssh登錄

原理

  1. 客戶端上創建一對 RSA 公私鑰 (公鑰文件:~/.ssh/id_rsa.pub; 私鑰文件:~/.ssh/id_rsa)

  2. 把公鑰放到服務器上(~/.ssh/authorized_keys), 自己保留好私鑰

  3. 當ssh登錄時,ssh程序會發送私鑰去和服務器上的公鑰做匹配,如果匹配成功登錄成功

實現

windows (基於putty)

  1. 下載 puttygen.exe, 用於生成 RSA 公私鑰

  2. 運行 puttygen.exe, 點擊 Generate, 如下圖:
    技術分享圖片
    然後,在空白區隨意移動鼠標,puttygen.exe 會根據鼠標移動生成隨機數,用來生成 RSA 公私鑰
    技術分享圖片
    生成完成後,如下圖所示:
    技術分享圖片

  3. 將上一步生成的 Public Key 全部 copy, 然後放到服務器端 ~/.ssh/authorized_keys 文件裏,一個 Public Key 占據一行,如下圖所示:
    技術分享圖片

  4. 點擊 puttygen.exe 的 Save private key, 將 RSA 私鑰保存成一個文件

  5. 打開 putty , 操作步驟如下:

    • 會話 :填寫服務器 IP 、Port
    • 連接→數據:填好自動登陸用戶名
    • 連接→SSH→認證:選擇認證私鑰文件(第4步保存的文件)
    • 會話:填寫會話名稱,保存
  6. 完成,直接雙擊會話名稱即可免密碼登錄成功

linux

由於現在家裏沒有 linux 機器,而且 mac 也被老婆霸占,所有 linux 方法敬請期待(原理一樣,步驟更少,隨便在 google 在百度一下就行)。

Centos 7 SSH 無密碼登錄