linux ssh登錄設置

linux ssh登錄設置

2019/10/3

環境說明

  • 有一臺ubuntu虛擬機(Windows 10自帶的ubuntu)作爲client;
  • 同時有三臺獨立的server, node1, node2, node3;
  • 分別設置client到三臺服務器的無需手動輸入密碼登錄。

步驟

  1. 在client:
cd .ssh
ssh-keygen -t rsa  #在client本地生成祕鑰和公鑰

可檢查,在當前文件夾下生成了兩個文件:id_rsaid_rsa.pub, 分別爲祕鑰和公鑰。
可以看到公鑰的內容:cat id_rsa.pub

  1. 將本地生成的公鑰分別傳送到三臺server
  • node1
ssh-copy-id -i id_rsa.pub -p 22 username@node1
#此處需要輸入username@node1的登錄密碼

測試: ssh username@node1
若可以成功登錄到node1,說明配置成功。

  • node2
ssh-copy-id -i id_rsa.pub -p 22 username@node2
#此處需要輸入username@node2的登錄密碼

測試: ssh username@node2
若可以成功登錄到node2,說明配置成功。

  • node3
ssh-copy-id -i id_rsa.pub -p 22 username@node3
#此處需要輸入username@node3的登錄密碼

測試: ssh username@node3
若可以成功登錄到node3,說明配置成功。

進一步說明

(2020/1/14更新)

以上的ssh-copy-id 命令封裝了將公鑰中內容追加到服務器.ssh/authorized_keys文件的部分。
對於沒有ssh-copy-id命令的主機可以通過手動複製的方式來實現。如下所示。

  • 假設已在主機生成公鑰id_rsa.pub

  • 利用scp命令將id_rsa.pub複製到服務器上

  • 在服務器上進行操作:

    • 在/home下,進入.ssh文件夾 :cd .ssh
    • 複製剛上傳的id_rsa.pub內容到.ssh/authorized_keys
    • 保存
  • 正常情況下,可以在client上通過ssh免密登錄到服務器。

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