服务器实现ssh证书登录

1.生成公钥和私钥

ssh-keygen -t rsa

提示默认生成位置为/root/.ssh/id_rsa ,直接回车。(也可以自己修改)

提示输入证书的密码,可以留空,建议输入,如果输入了,则需要再次确认,记住这个证书密码(证书再加一层密码,这样即使证书丢失,也有第二个保险,有个缓冲时间)

2.将公钥添加到 authorzied_keys文件中(在被登录的linux服务器操作)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3.下载私钥

进入目录 cd /root/.ssh/ 下载id_rsa这个文件

4.测试使用证书登录

建议先用证书登录,成功后再禁止密码登录,以免出错导致要重装系统

5.配置ssh文件

当使用证书登录成功后,编辑配置文件 vi /etc/ssh/sshd_config

PermitRootLogin 将值修改为 without-password //允许root登录,但只允许证书登录

PasswordAuthentication 将值修改为no //禁止密码登录

文件修改保存后,刷新ssh配置文件

systemctl restart sshd

此时原来密码登陆的ssh还能用,但是关闭再打开就不行了,证书登录正常

6.创建新用户使用证书登录

powershell 复制代码
adduser 用户名
切换到用户 
su 用户名
ssh-keygen -t rsa                    //生成密钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys                //将当前用户的公钥放到对应home下
下载对应用户的私钥
分配权限(root角色)
sudo chown 用户名:用户名 /home/用户名/.ssh/authorized_keys
sudo chmod 700 /home/用户名/.ssh
sudo chmod 600 /home/用户名/.ssh/authorized_keys

7.刷新ssh配置(root角色)

powershell 复制代码
systemctl restart sshd
相关推荐
Evan芙21 分钟前
nginx日志管理及日志格式定制
运维·nginx
The star"'1 小时前
04-管理变量和事实
运维·云计算·ansible
LRX_1989271 小时前
华为设备配置练习(七)VRRP 配置
服务器·网络·华为
林疏safe1 小时前
灯塔部署云服务器docker 部署方式,以及忘记密码如何查找
运维·服务器·docker
云和数据.ChenGuang2 小时前
openEuler系统下安装MongoDB的技术教程
运维·数据库·mongodb·压力测试·运维工程师·运维技术
广东大榕树信息科技有限公司2 小时前
如何实现动环监控系统的国产化与智能化?
运维·网络·物联网·国产动环监控系统·动环监控系统
tzhou644522 小时前
自动化运维利器Ansible
运维·自动化·ansible
代码游侠2 小时前
学习笔记——线程控制 - 互斥与同步
linux·运维·笔记·学习·算法
牛奶咖啡132 小时前
Linux常见系统故障案例说明并修复解决(下)
linux·服务器·文件系统挂载异常分析并修复·持久化挂载分区文件丢失故障修复·分析系统进程cpu占用率过高
Bruce_Liuxiaowei3 小时前
SSH主机密钥验证失败(Host key verification failed)深度解析与解决方案
运维·网络·ssh