[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(私钥文件) 拷贝出来,就是可以登录该账号了

参考资料 & 致谢

目录
相关文章
|
3天前
|
Linux C语言
成功解决 在Linux CentOS 7 中安装gcc
这篇文章介绍了如何在Linux CentOS 7系统中安装gcc (g++) 8工具集。由于CentOS 7默认的gcc版本是4.8,而这个版本与Qt 5.14、Qt 5.15或更高版本不兼容,可能会导致编译时出现系统头文件错误。文章中提到,即使在项目配置中添加了`CONFIG+=c++11`,如果仍然报错,那么很可能是gcc版本的问题。为了解决这个问题,文章提供了使用CentOS的Software Collections (scl)来安装更新版本的gcc的步骤。
成功解决 在Linux CentOS 7 中安装gcc
|
17天前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
|
18天前
|
安全 Linux Anolis
不容错过的 CentOS 迁移替换专场!围绕安全保障、最佳案例等分享 | 龙蜥大讲堂
如何借助龙蜥社区成熟的迁移案例,一站式解决CentOS迁移替换的问题?
|
19天前
|
缓存 Linux
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stoc
CentOS 默认的镜像源可能无法访问。可以更换为其他镜像源,例如阿里云、腾讯云等。
174 6
|
2天前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
|
5天前
|
Linux 数据安全/隐私保护 Docker
MQTT(EMQX) - Linux CentOS Docker 安装
MQTT(EMQX) - Linux CentOS Docker 安装
21 0
|
7天前
|
Linux
Linux——Centos8虚拟机添加网卡未显示
Linux——Centos8虚拟机添加网卡未显示
10 0
|
7天前
|
Linux 网络安全 数据安全/隐私保护
Linux——配置SSH免密登录
Linux——配置SSH免密登录
17 0
|
7天前
|
网络协议 Linux
Linux——Centos8.2如何重启网卡服务
Linux——Centos8.2如何重启网卡服务
18 0
|
8天前
|
Linux 虚拟化 Windows
Hyper-V CentOS Linux 硬盘扩容
Hyper-V CentOS Linux 硬盘扩容
20 0