1:生成公钥
此时有test.pub文件
2:linux CentOS 7 配置
2.1 test.pub 存入/root/test.pub目录下面
2.2 确保authorized_keys文件内容为空
vim /root/.ssh/authorized_keys
清空命令
echo "" > /root/.ssh/authorized_keys
2.3 复制test.pub入/root/.ssh/authorized_keys
cat /root/test.pub /root/.ssh/authorized_keys
3 修改配置文件
vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
去掉上面3行注释
#在文件末尾 改为no ,表示禁止账户密码登入, 只能证书登入
PasswordAuthentication no
#禁用root账户登录, 也就是root不能证书和密码登入
PermitRootLogin no
关键修改参数如下
#禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
3.1重启sshd服务
systemctl restart sshd.service
OK。测试登入 输入创建公钥时候的密码