Linux配置SSH免用戶免密碼登錄

1. 目的

簡化SSH登錄過程, 實現從機器A登錄機器B只須要運行ssh hostname便可, 即不須要輸入用戶名和密碼。vim

2. 配置host

配置host的做用是ssh登錄機器時用hostname代替IP, 在機器不少的集羣環境中hostname比IP容易記的多, 編輯 /etc/hosts文件, 配置須要登錄的機器IP和hostname, 我這裏配置機器129.211.93.219的hostname爲 spider01bash

vim /etc/hosts

若是能ping通配置的hostname則配置成功。ssh

2. 配置免密

使用ssh-keygen生成密鑰,將公鑰文件上傳至目標機器便可實現免密登錄,使用命令生成密鑰:ide

ssh-keygen -t rsa -C 'comment'
  • -t rsa: 指定使用 rsa加密;加密

  • -C: 添加備註, 備註會加到公鑰文件最後,方便區分;3d

運行命令會有交互輸入,所有使用默認值直接回車就行,默認會在家目錄的.ssh/文件夾下生成四個文件:code

  • authorized_keys: 存放遠程免密登陸的公鑰,主要經過這個文件記錄遠程機器的公鑰。blog

  • id_rsa: 生成的私鑰文件文件上傳

  • id_rsa.pub: 生成的公鑰文件class

  • known_hosts: 已知的主機公鑰清單

而後經過ssh-copy-id命令複製本機公鑰到目標機器上,運行命令:

sh-copy-id -i ~/.ssh/id_rsa.pub user_name@hostname

運行成功後便可使用ssh user_name@hostname 免密碼登錄。

3. 配置免用戶

編輯.ssh/目錄下config 文件, 沒有則新建一個,

vim ~/.ssh/config

添加目標機器配置:

添加成功後,便可使用ssh hostname直接登錄。

相關文章
相關標籤/搜索