[OS-Linux] CentOS 7.x 使用密钥登录安全设置

简介: [OS-Linux] CentOS 7.x 使用密钥登录安全设置

简介

之前用用户名和密码登陆服务器 这样不安全 ,用SSH公钥(public key)验证 这个办法能很好的解决 登陆服务器 和安全登陆服务器的特点:

方法 / 步骤

🔐 一: 证书生成

命令行页面生成 (推荐)

# 使用目标账号登录目标服务器,使用ssh key生成器生成账号
ssh-keygen -t rsa -b 4096
# enter 键盘保存key
# Enter file in which to save the key 

# 回车输入密码(使用私钥登录的密码:可以为空)
# Enter passphrase (empty for no passphrase):
# 一路enter 之后生成 id_rsa(私钥文件) id_rsa.pub(公钥文件)


/home/your_user_name/.ssh/ 文件夹下面生成公钥和私钥

在这里插入图片描述

SSH客户端连接工具生成

1.2.1 打开SSH连接客户端MobaXterm --> 工具

在这里插入图片描述

1.2.2 生成RSA密钥对

在这里插入图片描述

  • 保存公钥和私钥

不设置私钥密码直接点击‘是’即可
在这里插入图片描述
在按照步骤操作完毕后,会得到两个文件
① ssh_login.pub:公钥文件,必须上传到远程主机。
② ssh-_ogin.ppk:私钥文件,在MobaXterm的Session属性中启用之后,连接远程主机生效

🔨 SSH登录配置

2.1 上传公钥到KVM

把公钥文件 ssh_login.pub上传到 /root/.ssh/ 目录下

#进入.ssh
cd /root/.ssh/
# linux root 目录下没有.ssh目录
ssh localhost
# 把公钥文件 ssh_login.pub上传到该目录下

cat /root/.ssh/ssh_login.pub  >>  /root/.ssh/authorized_keys
cat /root/.ssh/ssh_login.pub  >> ~/.ssh/authorized_keys

2.2 生效配置

cd /etc/ssh
# ssh 配置文件
vi /etc/ssh/sshd_config
  • 📜配置项
#开启RSA验证
RSAAuthentication yes    
#使用公钥验证
PubkeyAuthentication yes    
#公钥保存位置 (把公钥ssh_login.pub内容复制到authorized_keys里面)
AuthorizedKeysFile .ssh/authorized_keys
# 是否开启密码登录 yes:开启密码登录 no:禁用密码登录
PasswordAuthentication no    
# yes 允许Root远程登录 without-password:允许除密码以外 forced-commands-only:仅允许使用密钥
PermitRootLogin yes

#必要时,可以通过下面的配置属性修改登录端口
Port 22

# 找到StrictModes字段,将yes修改为no
#StrictModes yes

2.3更改权限

注意: 1) .ssh目录的权限必须是700 2) .ssh/authorized_keys文件权限必须是600。

chmod 700 /root/.ssh/
chmod 700 /root/.ssh/authorized_keys

# chmod 644 /root/.ssh/authorized_keys

重启ssh服务即可使用ssh密钥登录

systemctl restart sshd
systemctl restart sshd.service

不使用证书会有如下提示
在这里插入图片描述

restorecon -R -v /home #root用户为/root

🎫 使用证书登录

另外开启一个窗口(尽量不要关闭当前配置窗口) 测试登录
在这里插入图片描述

📌 密钥绑定账号

给组员分配登录账号时候,只允许密钥登录的时候可以做以下操作

  • 使用目标账号登录目标服务器,使用ssh key生成器生成账号
ssh-keygen -t rsa -b 4096
# enter 键盘保存key
# Enter file in which to save the key 

# 回车输入密码(使用私钥登录的密码:可以为空)
# Enter passphrase (empty for no passphrase):
# 一路enter 之后生成 id_rsa(私钥文件) id_rsa.pub(公钥文件)

# 把公钥文件id_rsa.pub 改名为authorized_keys
mv id_rsa.pub authorized_keys

把id_rsa(私钥文件) 拷贝出来,就是可以登录该账号了

参考资料 & 致谢

目录
相关文章
|
2月前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
868 1
linux centos上安装python3.11.x详细完整教程
|
22天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
182 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
69 1
Linux系统之Centos7安装cockpit图形管理界面
|
1月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
62 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
18天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2
|
1月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
589 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
1月前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
|
2月前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
2月前
|
Linux Python
Linux之centos安装clinkhouse以及python如何连接
Linux之centos安装clinkhouse以及python如何连接
|
2月前
|
Linux
linux之centos安装dataease数据报表工具
linux之centos安装dataease数据报表工具