8单元 -Linux下必会的SSH 和 远程服务入门
Linux中远程登录服务
一.实验环境
认识经典的C/S 模型
- client(服务器端):client_westos.test.com 172.25.254.10
- server(客户端): sever_node1.westos.com 172.25.254.20
nm-connection-editor —— 网络管理器 ,连接网络
ifconfig —— 查看设定主机的IP
hostnamectl set-hostname —— 设定主机名称
二.Openssh服务的基本信息
Openssh
1)作用:
- 在企业中的运维工作,不是1v1的运维,运维工程师基本都是1vN,在运维工程师对服务器进行管理时,需要通过网络登陆远程主机。
- 需要通过网络在远程主机中开启shell来进程操作,远程主机必须提供这样的开启shell的方式 以上的需求由openssh服务来提供,远程主机中安装了openssh并开启了这个程序,那么我们就可以通过网络来连接这台主机了
2)软件包名称 —— openssh-serve
3)服务名称 —— sshd
4)客户端 —— ssh
ssh 远程主机IP -l 远程主机用户
例 ssh 172.25.254.10 -l root (-l : -login 登录)
[root@westos_client ~]# ssh 172.25.254.20 -l root
The authenticity of host '172.25.254.20 (172.25.254.20)' can't be established.
ECDSA key fingerprint is SHA256:+5Ikt8ZExrRdLzOg19xsL5PhAYPt8GB7umvLcSF/dlM.
Are you sure you want to continue connecting (yes/no)? yes #建立关系
Warning: Permanently added '172.25.254.20' (ECDSA) to the list of known hosts.
root@172.25.254.20's password: ##输入远程主机密码
Activate the web console with: systemctl enable --now cockpit.socket Last login: Sat Apr 25 09:02:58 2020
[root@westos_node1 ~]# ##登陆成功
5)sshd服务端口 —— 22/tcp
6)配置文件 —— /etc/ssh/sshd_config
三.Openssh服务的key认证
- 用户密码认证 (对称加密) 密码容易泄漏,容易忘记
- 密钥认证 (非对称加密) 安全,不会忘记密码
- 建立密匙(key)认证的方式
- 建立key文件 —— 操作环境 172.25.254.10 主机
- 上传公钥 (加密远程主机)
ssh-copy-id -i /root/.ssh/id_rsa.pub
- ssh-copy-id **命令
- -i 指定公钥
- /root/.ssh/id_rsa.pub 公钥名称
- root 远程主机被加密的用户
- @ 分隔符
- 172.25.254.20 远程主机地址
测试:
- ssh root@172.25.254.20 #免密连接
- mv /root/.ssh/id_rsa* /mnt #移除密匙文件
- reboot #重启
- ssh root@172.25.254.20 #因为**被移除所以不能免密
- mv /mnt/id_rsa /root/.ssh #重新恢复**
- ssh root@172.25.254.20 #免密连接
四.Openssh服务的安全配置
1)端口修改
vim /etc/ssh/sshd_config
17 port 22 -----> port 1111
2)端口绑定
vim /etc/ssh/sshd_config
19 #ListenAddress 0.0.0.0 ----> ListenAddress 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 ----->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服务的用户控制
实验素材:(172.25.254.20)
useradd westos echo lee| passwd --stdin westo
useradd lee echo lee| passwd --stdin lee
操作完成系统中存在至少3个用户
root用户的访问控制
-
禁止进行密码认证访问
vim /etc/ssh/sshd_config
46 PermitRootLogin yes --->PermitRootLogin no # 禁止root用户使用ssh进行认证
测试:(172.25.254.20)
ssh 172.25.254.20 -l root #默认输入正确秘密可以完成认证
修改参数——禁止root用户进行认证
ssh 172.25.254.20 -l root #输入正确密码仍然不能登陆
-
用户黑名单 (默认可以登陆,名单中的用户被禁止)
vim /etc/ssh/sshd_config
DenyUser lee #lee用户不能使用sshd服务
-
用户白名单 (默认不可以登陆,名单中的用户被允许)
vim /etc/ssh/sshd_config
AllowUsers westos #westos用户可以使用sshd服务,默认用户被禁止
五.远程执行命令
实验环境:
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} #直接执行命令在远程主机中(屏蔽yes、no的输入)
六.sshd登陆信息修改
vim /etc/motd (172.25.254.20) #在此文件中有什么字符在ssh登陆时就可以看到什字符