实验:

1.两台机器:第一台机器作为客户端,第二台机器作为服务器,在第一台使用rhce用户免密登录第二台机器
2.禁止root用户远程登录和设置三个用户sshuser1, sshuser2, sshuser3, 只允许sshuser3登录,不允许sshuser1, sshuser2登录

实现:

首先要确保两台机器上同时具有所需要的用户,如果没有则需要提前创建。此次实验的两台机器我都没有提前创建好所需用户,所以需要输入以下命令进行提前创建用户。

[root@zhangyihao ~]# useradd rhce

[root@zhangyihao ~]# echo root | passwd --stdin rhce
更改用户 rhce 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@zhangyihao ~]# useradd sshuser1
[root@zhangyihao ~]# echo root | passwd --stdin sshuser1

更改用户 sshuser1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@zhangyihao ~]# useradd sshuser2
[root@zhangyihao ~]# echo root | passwd --stdin sshuser2

更改用户 sshuser2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@zhangyihao ~]# useradd sshuser3
[root@zhangyihao ~]# echo root | passwd --stdin sshuser3

更改用户 sshuser3 的密码 。
passwd:所有的身份验证令牌已经成功更新。

两台服务器如何配置nginx 两台服务器如何连接_服务器

  第二台机器重复上述配置即可

由于两台机器其中一台需要作为客户端,一个作为服务器,且为了实现rhce用户的免密登录使用的是“非对称密钥”进行,需要在客户端生成一对公钥与私钥,届时将公钥上传至服务器进而实现客户端rhce用户免密登录服务器

由于是使用rhce用户免密登录,所以先需要切换至该用户,使用命令从root用户切换至rhce用户,再输入命令生成密钥

[root@zhangyihao ~]# su - rhce
[rhce@zhangyihao ~]$ ssh-keygen -t rsa -b 2048

Generating public/private rsa key pair.
Enter file in which to save the key (/home/rhce/.ssh/id_rsa): 
Created directory '/home/rhce/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/rhce/.ssh/id_rsa.
Your public key has been saved in /home/rhce/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:4hkcoUh9a9xWaIrEhn1a8wMSgESRBQCB/6sJ08y2A2k rhce@zhangyihao
The key's randomart image is:
+---[RSA 2048]----+
|XBBB...  .       |
|oo..B.*.o .      |
| ..o.O.O .       |
|  . o.=.=        |
| . . .+.S.       |
|oE  .. +         |
|+.=  .o          |
| +.o.            |
|  +o             |
+----[SHA256]-----+

密钥生成后,输入以下命令将该密钥上传至服务器端,由于我使用的Windows端工具Xshell,该工具将认证服务器是否值得信任的权利交给了用户,所以中间需要输入一次yes信任该服务器

 

[rhce@zhangyihao ~]$ ssh-copy-id 192.168.188.131
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/rhce/.ssh/id_rsa.pub"
The authenticity of host '192.168.188.131 (192.168.188.131)' can't be established.
ECDSA key fingerprint is SHA256:nrfd0bZTY6Gnx4vIjXdQsgwyGExtxGlAcp00QUhTyZU.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
rhce@192.168.188.131's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '192.168.188.131'"
and check to make sure that only the key(s) you wanted were added.

两台服务器如何配置nginx 两台服务器如何连接_配置文件_02

 此时第一步所需配置完成,客户端可以进行rhce用户免密登录服务器的验证

[rhce@zhangyihao ~]$ ssh rhce@192.168.188.131
Activate the web console with: systemctl enable --now cockpit.socket

This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register

Last login: Thu Jan  5 17:23:00 2023 from 192.168.188.130
[rhce@haohao ~]$ 

两台服务器如何配置nginx 两台服务器如何连接_两台服务器如何配置nginx_03

 此时,可以看出已经登陆成功。

由于需要设置禁止root用户远程登录。并且只允许sshuser3登录,不允许sshuser1,sshuser2登录,所以此时需要更改设备的配置文件,输入以下命令进入ssh的配置文件,并进行更改

 [root@zhangyihao ~]# vim /etc/ssh/sshd_config

PermitRootLogin yes                      //将配置文件此行中的yes改为no,禁止root用户登录

AllowUsers sshuser3                     //在配置文件中的末尾加上此条命令,设置白名单                                                                       sshuser3用户登录,配置文件中默认没有此条命令,                                                               若白名单中没有用户,则默认拒绝所有。

 

两台服务器如何配置nginx 两台服务器如何连接_运维_04

两台服务器如何配置nginx 两台服务器如何连接_客户端_05

 

 配置完成后,输入以下命令重新启动ssh服务

[root@zhangyihao ~]# systemctl restart sshd

此时配置完成,可以重新建立连接以进行验证

两台服务器如何配置nginx 两台服务器如何连接_服务器_06

两台服务器如何配置nginx 两台服务器如何连接_运维_07

两台服务器如何配置nginx 两台服务器如何连接_客户端_08

两台服务器如何配置nginx 两台服务器如何连接_运维_09