banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Linux]使用SSH-KEY方式登錄SSH

管理 Linux 主機多了之後,管理大量的登錄密碼是一件很麻煩的事情,使用 SSH-KEY 方式登錄伺服器可以很好的解決問題。以下是使用 SSH-KEY 方式實現客戶端免密碼登錄 SSH 的方法。一套 SSH-KEY 可以等遍所有的伺服器。

1. 使用 ssh-keygen 在本地創建登錄遠程 SSH 伺服器使用的公鑰和私鑰

ssh-keygen -t [rsa|dsa] -C "comments"

-t 可選擇 RSA 和 DSA 兩種密鑰#

-C 可選註釋#

一路 enter 之後,會在~/.ssh 目錄下創建兩個文件 id_dsa #私鑰,妥善保存好。 id_dsa.pub #公鑰

2. 將公鑰複製到伺服器上對應用戶的~/.ssh/ 目錄下。

3. 在伺服器用戶的~/.ssh/ 目錄下執行

cat id_dsa.pub >>authorized_keys

首次使用的時候#

chmod 600 authorized_keys

需要注意的是出於安全考慮,authorized_keys 必須是 600 權限

4. 修改 /etc/ssh/sshd_config,確認一下 SSHD 的 publickey 驗證模式是否打開

# 是否允許公鑰認證。僅可以用於 SSH-2。
PubkeyAuthentication yes|no #ssh-2 打開

是否允許使用純 RSA 公鑰認證。僅用於 SSH-1。#

RSAAuthentication yes|no #ssh-1 打開

5. 退出遠程伺服器,嘗試再次登錄遠程伺服器

ssh xxx.xxx.xxx.xxx

6. 修改 /etc/ssh/sshd_confg,根據需要關閉 SSHD 的密碼驗證 # 是否允許使用基於密碼的認證。 PasswordAuthentication yes|no # 是否允許質疑 - 應答 (challenge-response) 認證 ChallengeResponseAuthentication yes|no

7. 對於 MACOS 系統可以在本地對 SSH 連接進行配置,打開~/.ssh/Config 並編輯文件,沒有可以創建新文件

Host XXX.XXX.XXX.XXX
HostName XXXX.com
Port 22
User root

偏好設置為公鑰認證#

PreferredAuthentications publickey

私鑰文件位置#

IdentityFile ~/.ssh/id_dsa

參考 http://www.2cto.com/os/201401/272738.html

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。