Mac 使用祕鑰登入 Linux 伺服器

善良的死神發表於2019-06-27

簡介

在 Mac 上配置 SSH 金鑰登入遠端的 Linux

相關配置

  1. 建立本地的 SSH 金鑰

    本地 生成祕鑰對

    ssh-keygen -t rsa -C 'youxiang@aliyun.com'

    -t 指定金鑰型別,預設即 rsa
    -C 設定註釋文字,比如你的郵箱

    可以設定 私鑰密碼,我這裡設定的密碼為 12345

    AboEQsE4Ev.png!large

    生成的金鑰預設在 家目錄 下的 .ssh 目錄下

    74AZuzIFoO.png!large
  2. 上傳 公鑰到遠端 Linux 伺服器

    使用 scp 複製公鑰到遠端伺服器

    scp -P <埠號> ~/.ssh/id_rsa.pub <使用者名稱>@<ip地址>:/home/id_rsa.pub

    我這裡使用的 root 使用者上傳,需要輸入登入密碼

    lvulyleBfN.png!large
  3. 配置遠端 Linux 的私鑰

    登入 遠端 Linux 伺服器,把公鑰追加到伺服器 ssh 認證檔案中:

    cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

    如果在 家目錄 沒有 .ssh 目錄或 authorized_keys 檔案,可以建立一下,並授予 authorized_keys 檔案 600 許可權

    k6BLl1kodC.png!large

    然後在執行 cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

  4. 本地 ssh 連線

    ssh -p <埠號> <使用者名稱>@<ip地址>

    如果沒有修改預設埠,可以忽略埠號

    ssh root@114.11.11.111

  5. 建立配置檔案快速登入

    每次登入都需要輸入使用者和 ip 地址,這樣也是太麻煩,可以新增配置檔案,使用 別名 來登入

    vi ~/.ssh/config

    Host            alias            #自定義別名
    HostName        114.11.11.110         #替換為你的ssh伺服器ip或domain
    Port            22             #ssh伺服器埠,預設為22
    User            root             #ssh伺服器使用者名稱
    IdentityFile    ~/.ssh/id_rsa    #第一個步驟生成的公鑰檔案對應的私鑰檔案
    FlEfEZKENR.png!large

    此時就可以使用 ssh jd 進行登入

禁止 Linux 使用賬號密碼登入

  1. cd /etc/ssh/

  2. 修改SSH的配置檔案 vi sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

#預設PasswordAuthentication 為yes,即允許密碼登入,改為no後,禁止密碼登入
PasswordAuthentication no 
  1. 重啟 ssh 服務

    systemctl restart sshd.service


參考1

參考2

相關文章