簡化SSH登錄過程, 實現從機器A登錄機器B只須要運行ssh hostname
便可, 即不須要輸入用戶名和密碼。vim
配置host的做用是ssh登錄機器時用hostname代替IP, 在機器不少的集羣環境中hostname比IP容易記的多, 編輯 /etc/hosts
文件, 配置須要登錄的機器IP和hostname, 我這裏配置機器129.211.93.219
的hostname爲 spider01
bash
vim /etc/hosts
若是能ping
通配置的hostname則配置成功。ssh
使用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
免密碼登錄。
編輯.ssh/
目錄下config
文件, 沒有則新建一個,
vim ~/.ssh/config
添加目標機器配置:
添加成功後,便可使用ssh hostname
直接登錄。