1.实验环境的部署
需要准备两台主机
设定网络
2.sshd服务对于企业的重要意义
sshd服务全称Openssh
可以实现通过网络在远程主机中开启安全shell的操作
足不出户就可以对服务器进行维护
Secure SHell =====>ssh ##客户端
Secure SHell daemon =====>sshd ##服务端
3.sshd服务的基本信息介绍
#安装包
openssh-server
#主配置文件
/etc/ssh/sshd_config
#默认端口
22
netstat -antlupe
ss -antlupe
#查看端口命令
#客户端命令
ssh
4.sshd服务的客户端使用
1)基本用法
ssh [-l 远程主机用户] <ip|hostname>
ssh -l root 192.168.123.222
#通过ssh命令在222主机中以root用户身份开启远程shell
[root@localhost Desktop]# ssh -l root 192.168.123.222
The authenticity of host '192.168.123.222 (192.168.123.222)' can't be established.
ECDSA key fingerprint is SHA256:fLgVcaDw2TP0qFF5xuh3doqPoESEQcROip+xYS0I0Fw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
#身份证明生成过程
#作用
当输入<yes>后
222主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_hosts
222主机持有私钥当客户主机再次连接时会对客户主机进行身份验证
如果身份改变拒绝连接效果如下:
#当连接因为认证问题被拒绝时解决方案
vim ~/.ssh/know_hosts
#在此文件中删除报错提示相应的行即可
-l #指定登陆用户
-i #指定私钥
-X #开启图形
-f #后台运行
-o #指定连接参数
# ssh -l root@192.168.123.222 -o "StrictHostKeyChecking=no" 首次连接必须要输入yes
-t #指定连接跳板
# ssh -l root 172.25.254.1(中继主机) -t ssh -l root 172.25.254.105
-o
5.sshd服务的key认证
1)认证类型:
#对称加密
安全性差
加密和解密是同一串字符
容易泄露
可暴力破解
容易遗忘
#非对称加密
加密用公钥,解密用私钥
不会被盗用
攻击者无法通过无密钥方式登录服务器
2)生成非对称加密密钥:
#方法一:
在服务器中:
#方法二:
非交互式生成
ssh-keygen -f ~/.ssh/id_rsa -P ""
3)对服务器加密
ssh-copy-id -f /root/.ssh/id_rsa.pub username@serverip
#给谁上锁谁就有新的认证
6.sshd服务的安全优化
在测试主机中
systemctl disable --now firewalld
#关闭火墙
setenforce 0
#关闭SElinux
Port 2222
#设定端口为2222
PermitRootLogin yes|no
#对超级用户登录是否禁止
vim /etc/ssh/sshd_config
#编辑主配置文件
systemctl restart sshd
#重启服务
ALLowUsers user
#用户白名单
DenyUsers user
#用户黑名单
#无名单时默认所有用户都可使用
PasswordAuthentication yes|no
#是否开启原始密码认证方式
systemctl restart sshd重启服务