服务器实现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
相关推荐
MXsoft6187 小时前
平台化是智能运维发展的必然趋势吗?
运维
ShirleyWang0127 小时前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
liuccn7 小时前
Linux 存储系统:LVM 与直接分区
linux·运维
捷配链7 小时前
六层服务器板行业材料与工艺标准化选型指南
服务器·制造·pcb
xexpertS9 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
xuefeiniao9 小时前
CentOS + 宝塔服务器偶发 SSH、面板、网站全部无法访问排查记录(PHP-FPM 内存耗尽案例)
服务器·centos·ssh·php
带娃的IT创业者10 小时前
突破内存瓶颈:利用 Nvidia GPU 显存作为 Linux Swap 空间的深度实践
linux·运维·服务器·nvidia·swap·gpu显存
FoldWinCard10 小时前
云原生 --- lvs
运维·服务器·lvs
大模型码小白11 小时前
企业级检索增强后端集成:Java 服务如何管理知识库版本
java·服务器·开发语言·人工智能·python·microsoft
MXsoft61811 小时前
成熟的自动化运维平台是什么样的?
运维·数据库·自动化