首页 > 系统相关 >CentOS 7 远程使用证书登录

CentOS 7 远程使用证书登录

时间:2024-01-12 12:34:02浏览次数:29  
标签:公钥 私钥 CentOS 登录 证书 rsa alias ssh

一、证书登录步骤

  1. 客户端生成证书:私钥和公钥,然后私钥放在客户端妥当保管,一般为了安全,客户端在生成私钥时,需要设置一个密码,其他人就算拿到私钥,没有密码也是无法解开的。
  2. 服务器中添加信任公钥:把客户端生成的公钥,上传到服务器,添加到指定的文件中,修改sshd配置,重启sshd服务。
  3. 假设客户端想通过私钥登录其他服务器,同理需要上传公钥到服务器,可以使用同一个公钥私钥对,也可以重新生成一对服务器如果要配置多个客户端证书登录,把需要登录的客户端公钥添加到指定的文件中。
  4. 真实工作中,员工生成好密钥对,公钥发送给运维人员,开通一台或多台服务器的权限,员工有责任保护好私钥,为了防止恶意拷贝,最好设置密码,但我从没设过密码,所以接下来的配置演示也没设置密码。

二、准备工作

2.1、生成用于SSH的公钥和私钥

2.1.1、使用centos系统命令ssh-keygen

# 本例用户为alias
[alias@localhost ~]$  ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/alias/.ssh/id_rsa): 回车
Created directory '/home/alias/.ssh'.
Enter passphrase (empty for no passphrase): 回车
Enter same passphrase again: 回车
Your identification has been saved in /home/alias/.ssh/id_rsa.
Your public key has been saved in /home/alias/.ssh/id_rsa.pub.
The key fingerprint is: 回车
SHA256:aVJ7gDVQ75CSGSVa+Y4UCl6dvHWxbrRFjr1Bq9+wUt8 [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|     o=*= ..o    |
|  . .o*B.+.B .   |
| . o..===.= *    |
|  . . oo.O + o   |
|     ..oS B +    |
|      .o.o o = . |
|          . o o E|
|           .     |
|                 |
+----[SHA256]-----+
# 会提示输入:密钥存放位置(直接回车,默认在/home/alias/.ssh/目录)、密码短语、重复密码短语,我这里全回车,没有设置密码。
# 完成后在/home/alias/.ssh/目录下生成了2个文件:id_rsa为私钥,id_rsa.pub为公钥。
[alias@localhost ~]$ ls .ssh/
id_rsa  id_rsa.pub

2.1.2、使用Secure CRT生成

  1. 主菜单->工具->创建公钥->选择RSA->填写密码->密钥长度1024->选择格式为OpenSSH及保存路径。【基本上全部点下一页至完成】
  2. 生产2个文件,默认名为Identity和Identity.pub
  3. Identity为私钥,Identity.pub为公钥

2.2、导入公钥

[alias@localhost ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

注意事项:

  1. SecureCRT生成的公钥文件上传到服务器后,再导入
  2. 多个公钥追加到authorized_keys文件中
  3. ssh使用哪个账户登录,就把公钥上传到对应账号的home目录下的~

2.3、检查正确的文件和文件夹权限

# 一般默认权限就是以下,其实不用更改
[alias@localhost ~]$ chown -R 0700  ~/.ssh
[alias@localhost ~]$ chown -R 0644  ~/.ssh/authorized_keys
[alias@localhost ~]$ chown -R alias:alias /home/alias
# 开启SELinux时,还需要执行(root用户把/home改成/root)
[alias@localhost ~]$ restorecon -R -v /home

2.4、修改SSH配置文件,支持使用证书登录(root权限)

vim /etc/ssh/sshd_config
# 以下几个重要修改
PermitRootLogin no            # 关闭root用户登录(可选)
StrictModes no                # 是否让sshd去检查权限
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no     # 有了证书登录,就禁用密码登录(可选)

2.5、重启服务

systemctl restart sshd.service

三、证书登录

#下载id_ras到本地

3.1、配置SecureCRT使用证书登录

CentOS 7 远程使用证书登录_证书登录

3.2、配置Putty使用证书登录

3.2.1、使用Putty密钥生成器转换私钥格式

  1. 点击File – Load private key(All Files .),导入id_rsa文件;
  2. 点击Save private key按钮,命名并生成ppk文件,比如alias.ppk。
  3. 这个ppk文件就是用于Putty的私钥。

CentOS 7 远程使用证书登录_证书登录_02

3.2.2、设置Putty使用证书登录

  1. Putty→Session:输入Host Name 或者 IP Address;
  2. Putty→Connection→Data:输入Auto-login username(自动登陆用户名);
  3. Putty→Connection→SSH→Auth:在Private key file for authentication选择私钥文件;
  4. Putty→Session:Saved Session:输入某个名称保存,以后直接双击该名称就可登录。

也可以用带参数的快捷方式执行证书登录,比如:D:\Tool\Putty-0.77-cn-portable-win-20220911>putty -i "d:\alias.ppk" [email protected]

CentOS 7 远程使用证书登录_证书登录_03

3.3、配置Centos7客户端使用证书登录

  1. 上传私钥到Centos7客户端 ~/.ssh/目录下
  2. 默认权限0644对于文件~/.ssh/id_rsa太开放了,不会让你登录
  3. 修改权限 chmod 600 ~/.ssh/id_rsa

CentOS 7 远程使用证书登录_证书登录_04


标签:公钥,私钥,CentOS,登录,证书,rsa,alias,ssh
From: https://blog.51cto.com/zengyi/9213892

相关文章

  • 安装ScaleIO on Centos7.4 遇到错误
    安装ScaleIOonCentos7.4,在部署完SDC后,节点sc1是MDM主节点,也是SDC。新建了volume01,然后进行mapping,之后主机失去响应,重启后报错如下:CentOSLinux7(Core)Kernel3.10.0-693.e17.x86_64onanx86_64sc1login:[25.6298101ScaleIOR2_0drvMain_Init:61:Driverstartingloadp......
  • HTTPS:浏览器如何验证数字证书
    比如XXX向一个CA机构申请数字证书,流程是什么样的呢?首先XXX填写了一张含有自己身份信息的表单,身份信息包括了自己公钥、站点资料、公司资料等信息,然后将其提交给了CA机构;CA机构会审核表单中内容的真实性;审核通过后,CA机构会拿出自己的私钥,对表单的内容进行一连串操作,包括了对明......
  • 在亚马逊云(AWS)EC2上使用用户和密码进行登录
    1.先用亚马逊后台连接到服务器2.创建root的密码sudopasswdroot根据提示输入newpassword。并进行重复验证。这个密码要记牢,这就是你以后服务器使用root用户登录的密码3.修改配置:接下来,切换到root身份,输入如下命令suroot使用root身份编辑亚马逊......
  • EAS_WEB更新解决方案后,无法登录web页面,显示connect.refused
    本地bos更新测试环境的解决方案后,启动bos,登录web提示连接异常失败;看日志,在图中打断点发现了异常:6999是测试服务i的端口,我本地应该是56898端口,对配服务器的实例server1和以前备份的server1.发现了不同:  在同步服务器解决方案后,配置文件被更改了,改回去重启服务即可......
  • Centos7下安装和配置 Tengine
    engine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。Tengine,简单的讲就是对nginx进......
  • 登录时,密码+CKEY密码验证
    读GCM配置,判定账号是否需要验证;需要验证,就拆分字符串,后六位+剩余部分;post请求去验证1.AESUtil对称加密2.HttpWebRequest、HttpWebResponse、StreamReader 创建请求,获取响应流;请求分get、post两种方式;(*)读取响应流信息,用到StreamReader,string类型的(符合JSON格式的)JSON格......
  • CentOS系统下静态HTTP服务的安全性考虑
    在CentOS系统下提供静态HTTP服务时,安全性是首要考虑的问题。由于Web应用程序常常会面临各种安全威胁,如恶意 、数据泄露和拒绝服务 等,因此需要采取一系列措施来确保服务的安全性。1.输入验证与过滤对所有用户输入进行严格的验证和过滤是至关重要的。确保应用程序对所有输入数据进......
  • 使用CentOS搭建高性能静态HTTP服务器
    在互联网应用中,静态内容是广泛存在的,例如HTML页面、图片、视频等。为了提供高效、稳定和安全的静态内容服务,我们可以使用CentOS来搭建高性能的静态HTTP服务器。1.选择合适的软件Nginx和Apache是两个流行的HTTP服务器软件。Nginx以其高效、轻量级和快速的性能而著称,特别适合于提供......
  • 调用https请求,绕过证书校验;信任所有证书
    https是http的增强版,使用了SSL/TLS证书验证;我们在请求https的过程中要在代码中设置证书的配置,以确保正常调用https。下面是设置与调用的代码样例:importcom.sun.org.apache.xerces.internal.impl.dv.util.Base64;importcom.ylink.gjj.isp.bots.core.bank.MonyGainBusloanRepay.......
  • 配置通过STelnet登录系统
    拓扑配置查看代码[R2]discurrent-configuration[V200R003C00]#sysnameR2#snmp-agentlocal-engineid800007DB03000000000000snmp-agent#clocktimezoneChina-Standard-Timeminus08:00:00#portallocal-serverloadportalpage.zip#dropillegal-mac......