服务器实现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
相关推荐
!chen8 分钟前
[Linux][虚拟串口]0x03一个特殊的字节
linux·运维·服务器
林姜泽樾26 分钟前
Linux入门第十七章,systemctl软件启动和软连接
linux·运维·服务器·centos
CDN36030 分钟前
360CDN 产品实测合集:CDN / 高防 / SDK 游戏盾真实反馈
运维·游戏·网络安全
i建模36 分钟前
SSL: CERTIFICATE_VERIFY_FAILED feishu 机器人CoPaw
运维·网络·网络协议·ssl·openclaw
艾莉丝努力练剑36 分钟前
alarm系统调用的一次性原理揭秘
linux·运维·服务器·开发语言·网络·人工智能·学习
zly35001 小时前
只能同网段ping通,route add命令添加默认路由
linux·运维·服务器
徐子元竟然被占了!!1 小时前
批处理文件
运维
isyangli_blog1 小时前
制作Linux Centos8 模板
linux·运维·服务器
lsunwing1 小时前
jsjdafasdfadsf
运维·服务器
Java后端的Ai之路1 小时前
Playwright是微软开源的浏览器自动化库:从入门到精通的实战指南
运维·microsoft·自动化·浏览器自动化·playwright