形象点讲一对钥匙(私钥+公钥),
测试平台:centos7
原理就是将自己的公钥pub文件,发给远端主机的authorized_keys文件即可
authorized_keys文件用于记录认证的公钥信息
注:authorized_keys文件是在sshd中的配置的默认路径,若更新路径请自行查看
| #命令方式:使用ssh-copy-id,直接将pub文件内容,写入到远端的authorized_keys文件中
#优势:免去创建.ssh目录和authorized_keys文件
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.28.128
#手工方法
#先将pub公钥scp到远端主机,在讲pub内容追加到authorized_keys文件
|
1.生成key,并导入到默认的keys
2.备份key
3.修改sshd配置
4.重启sshd
5.登录测试,其他主机,导入key,
1.生成key,一路回车
| #生成key
ssh-keygen -t rsa
#将公钥导入到本地认证文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
|
2.备份私钥key
~/.ssh/id_rsa:私钥文件
~/.ssh/id_rsa.pub:公钥文件
备份到本地,文件使用方法:
第一种:若是crt登录,则需要将~/.ssh/id_rsa导入到crt中
若是其他linux主机登录,则
| #通过ssh-copy-id将公钥复制给远端服务器
ssh-copy-id 远端服务器
#如果公钥没有在默认路径需加-i指定公钥路径
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.28.128
|
3.修改sshd配置
1
2
3
4
5
6
7
8
9
10
11
12 | #修改配置
vi /etc/ssh/sshd_config
#----------------修改内容如下---------
#开启秘钥验证
PubkeyAuthentication yes
#默认key路径(第二步操作就是为了这一步)
AuthorizedKeysFile .ssh/authorized_keys
#禁用密码登录(也可秘钥和密码同时生效,但一般开了秘钥都会禁用密码登录)
PasswordAuthentication no
#禁用密码登录
PermitRootLogin prohibit-password
|
4.重启sshd
5.登录测试
第一种,使用crt登录时,
| #通过ssh-copy-id将公钥复制给远端服务器
ssh-copy-id 远端服务器
#如果公钥没有在默认路径需加-i指定公钥路径
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.28.128
|