1.本机
- 进入ssh
cd ~/.ssh
ssh-keygen -t rsa
输入名字,如test,其他回车
- 编辑config
vi ~/.ssh/config
host test
hostname 填写自己主机的ip地址
port 对应的端口
user 对应的角色名
identityfile ~/.ssh/test
- copy公钥
cat ~/.ssh/test.pub
2.远程服务器
- 登录远程服务器
ssh 角色名@主机ip地址 -p 端口
- 编辑authorized_keys
mkdir ~/.ssh [如果没有]
vi ~/.ssh/authorized_keys
把本地生成的公钥test.pub内容copy至本文件
- 回到本机,免密登录
ssh test
注:
本机:~/..ssh/config文件的权限应为600,否则报Bad owner or permissions错误
远程机器:~/.ssh目录需要700权限,authorized_keys文件需要600权限
有人说本机如果之前密码登录过,要清除本机~/.ssh/known_hosts内的记录,但实测没关系。