八.Linux中的远程登陆服务

tech2022-08-13  111

一.实验环境 

client: server1 172.25.254.10

server: server2 172.25.254.20

ifconfig    或ip addr    查看ip地址

nm-connection-editor    设定ip地址    或图形化设置ip地址

hostnamectl set-hostname 设定主机名称 (须重新打开窗口)

二.Openssh服务的基本信息 

Openssh  1.作用:  在企业中的运维工作,不是1v1的运维,运维工程师基本都是1vN.在运维工程师对服务器进行管理时,需要通过网络登陆远程主机,需要通过网络在远程主机中开启shell来进程操作,远程主机必须提供这样的开启shell的方式.以上的需求由openssh服务来提供,远程主机中安装了openssh并开启了这个程序,那么我们就可以通过网络来连接这台主机了.

2.软件包名称  openssh-server(自动安装)

 3.服务名称 sshd

 4.客户端  ssh ssh 172.25.254.20 -l root     172.25.254.20 远程主机ip                 -l login 登陆                 root 远程主机的超级用户

 5.sshd服务端口  22/tcp

6.配置文件  /etc/ssh/sshd_config

 三.Openssh服务的key认证 

 1.用户密码认证 (对称加密) * 密码容易泄漏 * 容易忘记

 

2.密钥认证 (非对称加密) * 安全 * 不会忘记密码

3.建立key认证的方式 

(1)* 建立key文件 172.25.254.10主机

[root@westos_client ~]# ssh-keygen     建立认证key文件 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):     加密字符保存位置     Enter passphrase (empty for no passphrase):     key认证密码,通常设定为空 Enter same passphrase again:             重复key认证密码 Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Uh8cYTxqCShLnD3NUxpIQ4/NOtSVuyPuMzHuGnxSd1k root@westos_client.westos.com The key's randomart image is: +---[RSA 2048]----+ | . =+=..oo+.     | |  = =B=+.oo.     | | . oo.*o.+o.E    | |  .. . .=. +     | |    o o.S.+      | |   . o+oo.       | |    +o.+ .       | |     +=          | |    .+oo         | +----[SHA256]-----+

(2)* 上传公钥 (加密远程主机) [root@westos_client ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.254.20  ssh-copy-id        上传密钥命令 -i            指定公钥 /root/.ssh/id_rsa.pub    公钥名称 root            远程主机被加密用户 @            分割副 172.25.254.20        远程主机地址

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /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 root@172.25.254.20's password:     远程主机密码

Number of key(s) added: 1

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

(3)* 测试 172.25.254.10主机中 1.ssh root@172.25.254.20        免密连接

2.mv /root/.ssh/id_rsa* /mnt

3.reboot

4.ssh root@172.25.254.20        因为密钥被移除所以不能免密

5.mv /mnt/id_rsa /root/.ssh        重新恢复密钥

6.ssh root@172.25.254.20        免密连接

四.Openssh服务的安全配置 

1.端口修改  vim /etc/ssh/sshd_config

17 port 22 -----> port 1111

(更改完端口后,sshd启动不了,需要setenforce 0,或者还要禁掉防火墙.)

测试 [root@server1~]# ssh 172.25.254.20 -l root  ssh: connect to host 172.25.254.20 port 22:  Connection refused    默认连接被拒绝

[root@server2 ~]# ssh 172.25.254.20 -l root  -p 1111    指定的的端口连接 Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Apr 25 11:05:31 2020 from 172.25.254.10 [root@westos_node1 ~]# 

2. 端口绑定  vim /etc/ssh/sshd_config 

19 ListenAddress 0.0.0.0  ----> ListenAddress 172.25.254.20

添加端口127.0.0.1

测试: 在172.25.254.20主机中 参数未发生变化: ssh 172.25.254.20 -l root    可以

ssh 127.0.0.1 -l root        可以

参数发生变化 ssh 172.25.254.20 -l root       可以

ssh 127.0.0.1 -l root           拒绝

3.密码认证的关闭 vim /etc/ssh/sshd_config

73 PasswordAuthentication no    禁用密码认证

测试: 172.25.254.10    有密钥 172.25.254.20    无密钥

172.25.254.10 ----->       ssh root@172.25.254.20  可以登陆

172.25.254.20 ----->    ssh root@172.25.254.20     可以输入密码

参数根改并重启服务后 172.25.254.10 ----->    ssh root@172.25.254.20  可以登陆

172.25.254.20 ----->    ssh root@172.25.254.20    不可输入密码直接被拒绝

4. sshd服务的用户控制

man 1 命令  查看命令帮助

man 5 文件名 查看文件帮助

建立实验素材

在服务器中: 172.25.254.20 useradd westos useradd lee echo lee| passwd --stdin westos echo lee| passwd --stdin lee

操作完成系统中存在至少3个用户

用户    密码 root    lee westos    lee lee    lee

(1)root用户的访问控制

vim /etc/ssh/sshd_config 46 PermitRootLogin yes --->PermitRootLogin no    禁止root用户使用ssh进行认证

实验: 172.25.254.20:

ssh 172.25.254.20 -l root        默认输入正确秘密可以完成认证

修改参数后 ssh 172.25.254.20 -l root        输入正确密码仍然不能登陆

(2)用户黑名单 (默认可以登陆,名单中的用户被禁止) vim /etc/ssh/sshd_config DenyUsers lee        lee用户不能使用sshd服务

实验: 172.25.254.20: ssh 172.25.254.20 -l lee        默认可以登陆 ssh 172.25.254.20 -l westos        可以登陆

修改参数后 ssh 172.25.254.20 -l westos             可以登陆

ssh 172.25.254.20 -l lee                不可以登陆

(3)用户白名单 (默认不可以登陆,名单中的用户被允许) vim /etc/ssh/sshd_config AllowUsers westos        westos用户可以使用sshd服务,默认用户被禁止

实验: 172.25.254.20: ssh 172.25.254.20 -l lee                默认可以登陆 ssh 172.25.254.20 -l westos             可以登陆 ssh 172.25.254.20 -l root        可以登

修改参数后 ssh 172.25.254.20 -l westos             可以登陆

ssh 172.25.254.20 -l lee                不可以登陆

ssh 172.25.254.20 -l root        不可以登陆

五.远程执行命令 

172.25.254.20 登陆模式选择第二个(X11模式)

172.25.254.10:

ssh 172.25.254.20 -l root        此方法登陆时不能调用远程主机的图形命令

ssh -X  172.25.254.20 -l root        当前登陆可以调用图形 -X 代表启用x11图形连接

ssh 172.25.254.20 -l root  touch /root/Desktop/westosfile{1..10} 直接执行命令在远程主机中

 

ssh 172.25.254.20 -l root  -o StrictHostKeyChecking=no    在连接主机时不检测HOSTKEY                             (屏蔽yes、no的输入,第一次连接会询问)

指定连接跳板 -t

六.sshd登陆信息修改 

172.25.254.20: vim /etc/motd            在此文件中有什么字符在ssh登陆时就可以看到什么字符

 

最新回复(0)