网络kankan(good)证书

1203.1395天:SSH证书登录

2022-12-02  本文已影响0人  我的职业生涯

#每日三件事,第1395天#

SSH全程secure shell,是通过加密连接服务器的一种方式。

等保三级的身份鉴别中有一条要求:当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听。

也就是说,要远程管理设备时,应当采用加密的方式对通信网络上的数据加密传输。SSH就可以实现这一要求。

下面以CentOS 7为例来说明SSH的使用。

一. 直接使用SSH

1.1 通过口令登录服务器

CentOS7 安装好以后,sshd默认是启动的。可以通过命令来查看:

[root@centos7 ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 五 2022-12-02 16:13:02 CST; 1h 6min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 8920 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
 Main PID: 8767 (sshd)
    Tasks: 1
   CGroup: /system.slice/sshd.service
           └─8767 /usr/sbin/sshd -D

只要看到active(running),就说明sshd服务是正常运行的。

在客户端直接使用命令就可以登录服务器了:

ssh test@192.168.0.10 

为了安全起见,在服务器上禁止root用户登录:

vim /etc/ssh/sshd_config
PermitRootLogin no

这种方式是常见的,只要账户的口令正确,就可以登录服务器。

1.2 通过证书登录服务器

首先生成证书,包括公钥证书和私钥证书:

ssh-keygen -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/liyz/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 111222(口令不可见)
Enter same passphrase again: 111222(口令不可见)
Your identification has been saved in /Users/liyz/.ssh/id_rsa1
Your public key has been saved in /Users/liyz/.ssh/id_rsa1.pub
The key fingerprint is:
SHA256:YiZvjxUCjKVbg6glfjm3ZL3z1ILY26I1WUutbdrYkB4 liyz@192.168.0.101
The key's randomart image is:
+---[RSA 3072]----+
|    .            |
| . *             |
|o = =            |
|oo o.o.   .      |
|...+.+=.So .     |
|  . ==+o*.*      |
|     ooO.E +     |
|     ..=O X      |
|     .o.o* o     |
+----[SHA256]-----+

在/Users/liyz/.ssh目录中会产生两个文件,一个是id_rsa,这个是私钥证书,需要保存在客户机中;另一个是id_rsa.pub,这个是公钥证书,需要上传到服务器中。

1.2.1 服务器配置修改

修改服务器sshd_config文件:

  1. 禁止通过密码登录,只允许证书登录;

  2. 修改公钥证书文件;

vim /etc/ssh/sshd_config 
PasswordAuthentication no                               //原来是yes
AuthorizedKeysFile      /root/.ssh/id_rsa.pub  //原来是.ssh/authorized_keys
  1. 重启sshd服务;
systemctl restart ssd 

1.2.2 客户端登录

检查客户端应该有私钥证书:.ssh/id_rsa

使用命令ssh命令登录服务器:

# ssh root@192.168.0.10
The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.
ED25519 key fingerprint is SHA256:k/5TJYuu4PNlrljOW/asglLyr8jV9zHSwvBdfHoV3EQ.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.10' (ED25519) to the list of known hosts.
Enter passphrase for key '/Users/liyz/.ssh/id_rsa': 
Last login: Fri Dec  2 17:38:25 2022 from 192.168.0.101
[root@centos7 ~]# 

特别注意:

  1. 一定要牢牢的记住产生证书密钥是输入的密码;

  2. 一定要牢牢的保存好自己的私钥证书文件,可以把权限修改为600。

  3. 如果有多个客户端登录服务器的话,只要把其他客户端的公钥证书文件添加到id_rsa.pub文件的后面就可以了。


这种通过证书登录服务器的方式,算不算双因子鉴别呢?

上一篇 下一篇

猜你喜欢

热点阅读