当前位置: 首页 > news >正文

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

参考资料 & 致谢

相关文章:

  • 多元函数极值专题
  • NPDP考试第2版教材改版,具体有哪些变化?(解读+新版资料)
  • 树的应用 —— 二叉树遍历【先序、中序、后序】
  • JUC-集合线程安全-HashSet和HashMap线程不安全
  • ES6解构赋值(数组,对象,函数)
  • Codeforces Round #791 (Div. 2)
  • C++类和对象(上)
  • 使用IDEA打包发布SpringBoot并部署到云服务器
  • 常用ADB命令
  • springboot二手交易平台 毕业设计-附源码290915
  • Unable to find instance for system-app
  • Android LruCache
  • docker安装GBase 8s(一)
  • 软考:信息安全工程师2
  • 微软Win11 22H2 22621.607(KB5017389)RP预览版发布!
  • CentOS7 安装JDK
  • ES6--对象的扩展
  • ES6系列(二)变量的解构赋值
  • go append函数以及写入
  • node 版本过低
  • ReactNative开发常用的三方模块
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 简析gRPC client 连接管理
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用Swoole加速Laravel(正式环境中)
  • 算法-插入排序
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • #预处理和函数的对比以及条件编译
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (6)STL算法之转换
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (c语言)strcpy函数用法
  • (Note)C++中的继承方式
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (六)激光线扫描-三维重建
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)mysql使用Navicat 导出和导入数据库
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core 中插件式开发实现
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • //解决validator验证插件多个name相同只验证第一的问题
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [acm算法学习] 后缀数组SA
  • [HEOI2013]ALO
  • [leetcode]Symmetric Tree
  • [Linux] MySQL数据库之索引