一.实验环境
client:
localcast.localdomain
172.25.254.10
server:
westcp.localdomain
172.25.254.11
ifconfig 查看IP地址
nm-connection-editor 设定IP地址
hostnamectl set-hostname 设定主机名称
二.Openssh服务的基本信息
Openssh
作用:
在企业中的运维工作,不是1V1的运维
运维工程师可能要1Vn
在运维工程师对服务器进行管理时
需要通过网络去登陆远程主机
需要通过网络在远程主机中开启shell来进行操作
远程主机必须提供这样的开启shell的方式
以上的需求由Openssh服务来提供
远程主机中安装了Openssh并开启了这个程序
就可以通过网络来连接着台主机
2.软件包名称:
Openssh-server
3.服务名称:
sshd
4.客户端:
ssh
ssh 172.25.254.11 -l root 远程主机ip
-l login 登录
root 超级用户登录
5. sshd服务端口
22/tcp
6.配置文件
/etc/ssh/sshd_config
三. Openssh服务的key认证
1.用户密码认证(对称加密)
*密码容易泄露
*容易忘记
2.秘钥认证(非对称加密)
*安全
*不会忘记密码
3.建立key认证的方式
172.25.254.10 主机
*建立key文件
ssh-keygen
*上传公钥(加密远程主机)
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 远程主机地址
四.Openssh服务的安全配置
vim /etc/ssh/sshd_config
1.端口的修改(服务器端)
17行 port 22----->1111
修改之后要重新加载
默认连接被拒绝
ssh 172.25.254.20 -l root -p 指定端口 指定端口
如果连接不上 在服务器上 (1)输入此命令 setenforce 0(关闭火墙)
或编辑 /etc/sysconfig/selinux 文件 改为disabled(reboot重启系统)
(2)输入命令 systemctl stop firewalld
2.端口的绑定
vim /etc/ssh/sshd_config
19行 #ListenAddress 0.0.0.0----> 172.25.254.20(去掉前面#号)
更改之后要重启服务
测试:
在172.25.254.20主机中
参数未发生变化
ssh 172.25.254.20 -l root 可以
ssh 127.0.0.1 可以
参数发生变化
ssh 172.25.254.20 -l root 可以
ssh 127.0.0.1 拒绝
3.密码认证的关闭
vim /etc/ssh/sshd_config
编辑文件第73行 PasswordAuthentication yes----> 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 可以输入密码
参数更改并重启服务后
72.25.254.10----> ssh root@172.25.254.20 可以登录
72.25.254.20----> ssh root@172.25.254.20 不可输入密码,直接被拒绝
客户端
服务器
4.sshd服务的用户控制
建立实验素材:
在服务器中:
172.25.254.20
建立用户
useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee
操作系统之至少存在三个用户:(密码任意)
用户 密码
root lee
lee lee
westos lee
root用户的访问控制:
vim /etc/ssh/sshd_config
46行 PermitRootlogin yes---> no 禁止root用户使用ssh进行认证
实验:
172.25.254.20
ssh 172.25.254.20 -l root 默认输入正确密码可以完成认证
修改参数后:
ssh 172.25.254.20 -l root 输入正确密码后仍不能登录
所有用户的访问控制:
用户黑名单:
vim /etc/ssh/sshd_config
DenyUsers lee lee用户不能使用sshd服务
实验:
172.25.254.20:
ssh 172.25.254.20 -l westos
ssh 172.25.254.20 -l lee 用户都可以登录
修改参数后
ssh 172.25.254.20 -l westos 可以登录
ssh 172.25.254.20 -l lee 不可以登录
用户白名单(默认不可以登录,名单中的用户被允许)
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 此方法登录时不能调用远程图形
(1)ssh -X 172.25.254.20 -l root 当前登录可以调用图形 -X 代表启用X11图形
(2)ssh 172.25.254.20 -l root touch /root/Desktop/westosfile{1..10} 直接执行命令在远程主机中
(3)rm -fr /root/.ssh/known_hosts
ssh 172.25.254.20 -l root -o StrictHostKeyChecking=no 在连接主机时不检测HostKey,屏蔽yes,no的输入
六.sshd登录信息的修改
vim /etc/motd 在此文件中有什么字符在ssh登录时就会显示什么
操作前先删除/etc/motd.d/cockpit文件
在172.25.254.20里编辑
在172.25.254.10中操作