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。测试登入 输入创建公钥时候的密码

 


    

 

posted on 2018-12-03 16:13  1161588342  阅读(254)  评论(0编辑  收藏  举报