CentOS 7 配置免密码证书登录

news/2024/11/8 6:11:18/

服务器: CentOS 7

客户端: Xshell 6

 

密码登录:

这对我们来说太熟悉了, 换句话说我们对密码这东西太熟悉了, 几乎随处都会用到. 登录只是密码的一个应用场景之一. 但是密码常见的风险在于, 一是可能泄露, 二是被破解的风险

 

证书登录:

这里说的证书其实就是密钥. 在非对称加密中, 密钥分为公钥和私钥. 私钥, 即密钥所有人持有. 公钥则公布给他人. 公钥和私钥成对使用, 互相解密. 公钥加密数据只能用私钥解密; 私钥加密则只能用公钥解密(验证)

 

证书登录原理:

密钥对生成后, 公钥存储于远程服务器. 登录时远程服务器向客户端发送随机字符串, 客户端以私钥加密后返回服务器, 服务器再以公钥解密. 解密成功则证明客户端合法, 允许登录

 

配置证书登录

1. 登录用户:

首先在服务器生成公钥和私钥. 因为密钥与登录用户是对应的, 所以生成的密钥仅对当前用户有效. 本次以whl用户登录

 

以whl用户登录, 并且当前路径位于用户的默认home目录下

 

2. 创建公钥私钥:

ssh-keygen -t rsa

ssh-keygen是一个用来生成和管理ssh密钥的工具

-t参数用于指定密钥类型, 或者说加密算法. 本次使用rsa算法. 除此以外还有rsa1, dsa可选

 

执行命令后会提示输入用于保存密钥对的路径. 默认位于/home/用户/.ssh目录下. 确认无误则直接回车

 

提示目录已创建, 同时要求输入证书密码. 该密码用于客户端使用证书时验证(要不然把证书文件复制走了岂不可以随便登录了?), 与用户登录密码没有任何关系. 而且也有提示: 不想设密码的话保留为空即可, 不输入任何内容直接回车

 

然后要求再确认一次. 有密码就重复输入一次, 没有密码当然直接回车确认

 

密钥生成成功, 并提示保存路径, 以及打印密钥指纹

 

3. 写入公钥

进入证书存储目录

 

将公钥写入authorized_keys. 目录下多出一个文件authorized_keys

 

4. 设置权限

.ssh目录权限为700, authorized_keys权限为600

 

5. 修改ssh配置文件sshd_config

该文件位于/etc/ssh目录下

 

编辑该文件需要root权限. 切换为root用户, 然后就可以编辑了

 

找到PubkeyAuthentication这项, 去掉前面的#注释, 使其生效. AuthorizedKeysFile这项确保与刚才生成的文件路径一致. 修改完毕保存并退出

 

 

最后重启一下sshd服务

systemctl restart sshd

 

 

6. 下载私钥

还记得home/.ssh下的三个文件不? 把私钥id_rsa下载到本地

 

7. 配置客户端

这里用的是Xshell 6

新建会话, 几个常规项不变

 

用户身份验证一栏, 方法选择 Public Key

 

输入用户名, 点击浏览

 

随后弹出的对话框中选择导入, 选择刚才下载的私钥文件

 

 

导入后这里会显示已导入的密钥. 点击选中, 确定

 

用户密钥栏下拉列表会显示已导入的密钥. 选择对应该用户的密钥, 输入密码(无密码则保留空), 确定. 会话创建完毕

 

双击刚创建的会话, 登录成功

 

8. 关闭密码登录

到这一步为止证书登录配置成功. 也就是说此时用户名密码, 证书登录都可用. 我们也可以将密码登录禁用, 只允许证书登录. 这个配置还是在前面用到过的SSH配置文件sshd_config中

编辑sshd_config

vi /etc/ssh/sshd_config

 

找到PasswordAuthentication这一项, 由yes改为no. 保存退出, 并重启sshd服务

 

这时就可以看到, 第一(whl用户)和第三个会话(root用户)是以用户名密码登录的, 已经无法登录了. 而且password输入框也不可用

 

这里禁止的只是远程密码登录, 也就是SSH登录. 本地输入密码切换用户当然是不影响的

 

 


http://www.ppmy.cn/news/547643.html

相关文章

IOS证书获取(证书profile文件,p12私钥证书,证书私钥密码,Bundle ID)

当我们在开发一个应用APP时需要真机测试,或者上架到对应的应用市场,这时就需要 App打包(打包流程),那么打包时就需要Bundle ID、证书私钥密码、证书profile文件、私钥证书。 申请这些资料需要在苹果开发者中心获取 首…

SSL证书下载及部署

下载证书: 证书下载什么的就不说了,直接复制走起 1.在SSL证书页面,单击已签发标签,定位到需要下载的证书并单击证书卡片右下角的下载。 2.定位到IIS服务器类型并单击右侧操作栏的下载将IIS版证书压缩包下载到本地。 PS:每次下…

在阿里云IIS服务器上安装证书

在IIS服务器上安装证书 您可将下载的阿里云SSL证书安装到IIS服务器上,使您的IIS服务器支持HTTPS安全访问。 一、前提条件 申请证书时需要选择 系统自动创建CSR。 申请证书时如果选择手动创建CSR,则不会生成证书文件。您需要选择其他服务器下载.crt证书文…

1、数据库操作语句

目录 1. 列的别名 2. 去除重复行 3. 空值参与运算 4. 着重号’’ 5. 查询常数 6. 显示表结构 7. 过滤数据 8. 运算符:、-、*、/(div)、%(MOD),dual为伪表 9. 比较运算符…

三芯和四芯音频接口转换

下图是根据电脑和笔记本电脑实际测量后绘制的图,无论三芯还是四芯,麦克风端到地都有2v左右的电压用来驱动麦克风。

ES8311单声道音频编解码器

ES8311 是一种低功耗单声道音频编解码器,包含单通道 ADC、单通道 DAC、低噪声前置放大器、耳机驱动器、数字音效、模拟混音和增益功能。它通过 I2S 和 I2C 总线与 ESP32-S3-WROOM-1 模组连接,以提供独立于音频应用程序的硬件音频处理。 文档以及相关驱动…

H264(AVC)/H265(HEVC)/H266(VVC):块划分的区别

本文将对比分析H264/H265/H266中关于块划分的区别。 注: 1、本文参考了下列文章: https://blog.csdn.net/Dillon2015/article/details/90053818https://blog.csdn.net/Dillon2015/article/details/103364336https://www.it610.com/article/1280316313…

HEVC(H.265)与AVC(H.264)的区别与联系

一、什么是H.265? H.265是相对于H.264的一个升级版,是在原有H.264标准上的一个拓展和优化。H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。这也意味着,我们的智能手机、平板机等移动设…