- 简介
centos的常用登录方式包括ssh的密码登录和证书登录
1)密码登录:
登录只是密码的一个应用场景之一. 但是密码常见的风险在于, 一是可能泄露, 二是被破解的风险,常见的处理措施包括denyhosts和failban进行加强。
2)证书登录:
这里说的证书其实就是密钥. 在非对称加密中, 密钥分为公钥和私钥. 私钥, 即密钥所有人持有. 公钥则公布给他人. 公钥和私钥成对使用, 互相解密. 公钥加密数据只能用私钥解密; 私钥加密则只能用公钥解密(验证)
证书登录原理:密钥对生成后, 公钥存储于远程服务器. 登录时远程服务器向客户端发送随机字符串, 客户端以私钥加密后返回服务器, 服务器再以公钥解密. 解密成功则证明客户端合法, 允许登录。
- 部署过程
1)SSH的公钥和私钥
ssh-keygen -t rsa #生成密钥对 cd /root/.ssh/ #默认位置 cat id_rsa.pub >> authorized_keys #生产可以本地登录的key
原因如下:/etc/ssh/sshd_config文件默认设定
2)SSH配置文件,支持使用证书登录
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/#StrictModes yes/StrictModes no/g' /etc/ssh/sshd_config
以上设置实现只允许证书登录,并且禁止密码登录。
systemctl restart sshd #重启ssh服务
3)Xshell 7登录测试
测试通过
4)linux登录
cd /root chmod 600 id_rsa1 ssh -i id_rsa1 root@10.10.10.152
测试通过
补充问题
1)证书的权限问题
参考资料:
- https://blog.csdn.net/uisoul/article/details/85237732
- https://blog.csdn.net/wanghailong_qd/article/details/90389494