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
命令复制本机公钥到目标机器上,运行命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub user_name@hostname
运行成功后即可使用ssh user_name@hostname
免密码登陆。
3. 配置免用户
编辑.ssh/
目录下config
文件, 没有则新建一个,
vim ~/.ssh/config
添加目标机器配置:
添加成功后,即可使用ssh hostname
直接登陆。