1. 目的 簡化SSH登陸過程, 實現從機器A登陸機器B只需要運行 即可, 即不需要輸入用戶名和密碼。 2. 配置host 配置host的作用是ssh登陸機器時用hostname代替IP, 在機器很多的集群環境中hostname比IP容易記的多, 編輯 文件, 配置需要登陸的機器IP和hostnam ...
1. 目的
簡化SSH登陸過程, 實現從機器A登陸機器B只需要運行ssh hostname
即可, 即不需要輸入用戶名和密碼。
2. 配置host
配置host的作用是ssh登陸機器時用hostname代替IP, 在機器很多的集群環境中hostname比IP容易記的多, 編輯 /etc/hosts
文件, 配置需要登陸的機器IP和hostname, 我這裡配置機器129.211.93.219
的hostname為 spider01
vim /etc/hosts
如果能ping
通配置的hostname則配置成功。
2. 配置免密
使用ssh-keygen
生成密鑰,將公鑰文件上傳至目標機器即可實現免密登陸,使用命令生成密鑰:
ssh-keygen -t rsa -C 'comment'
-
-t rsa
: 指定使用 rsa加密; -
-C
: 添加備註, 備註會加到公鑰文件最後,方便區分;
運行命令會有交互輸入,全部使用預設值直接回車就行,預設會在家目錄的.ssh/
文件夾下生成四個文件:
-
authorized_keys: 存放遠程免密登錄的公鑰,主要通過這個文件記錄遠程機器的公鑰。
-
id_rsa: 生成的私鑰文件
-
id_rsa.pub: 生成的公鑰文件
-
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
直接登陸。