一 sshd服务的用途
1 sshd 服务的用途
作用:可以实现通过网络在远程主机中开启安全shell的操作
Sencure sHell ===>ssh ##客户端
Sencure sHell daemon ===>sshd ##服务端
2 安装包
openssh-server
3 主配置文件
/etc/ssh/sshd_conf
4 默认端口
22
5 客户端命令
ssh
二 ssh
######### 搭建实验环境 ###############
分别建立虚拟机westosa westosb 并进行重置
打开虚拟机westosa westosb 并进行改名和重置网络
hostnamectl set-hostname device.westos.org ##改名 westos.org域名(相当于 '姓氏')
nm-connection-editor 重置网络 设定ip
在进行删除根目录下的远程设置 保持最纯净的环境
rm -fr /root/.ssh
再打开无图模式 (节省内存)
在真机上分别连接虚拟机 (一个做服务器 一个做客户端) 服务器上进行操作,控制端 进行检测
ssh -l root 172.25.254.117 ##通过ssh命令在117主机以root用户身份开启远程shell
##当连接因为认证问题被拒绝时的解决方案
vim ~/.ssh/know_hosts ##在此文件中删除报错提示相应的行即可
#ssh 常用参数
-l ##指定登陆用户
-i ##指定私钥
-X ##开启图形
-f ##后台运行
-o ##指定连接参数
-t ##指定连接跳板
####### 三 sshd key认证 #############
## 加密 非对称加密 对称加密
1 认证类型
对称加密:加密和解密是同一串字符
非对称加密:加密用 公钥 解密用私钥 更安全
2 生成非对称加密密钥
制作 公钥 上锁
私钥 解锁
在westosa进行密钥生成
方法1
ssh-keygen ##生成非对称密钥
方法2
ssh-keygen -f /root/.ssh/id_rsa -P "" ##生成非对称密钥 -f 不需指定目录 -P "" 不需要密码
ls /root/.ssh ##查密钥的公钥和私钥有无生成
cat /root/.ssh/id_rsa ##查看私钥
cat /root/.ssh/id_rsa.pub ##查看公钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.217 ##指定此密钥给ip为217的用户 上锁
在westosb里查看目录是否有加密东东
有的话进行查看 看密钥是否一样 配对成功后
用已经设置私钥的用户连接配对成功的用户
最后连接指定用户 ##不需密码可直接访问
############sshd 安全优化参数详解#################
##设定用户是/否访问
rpm -qc openssh-server ##查看密钥存在地址
vim /etc/ssh/sshd_config ##编辑密钥
##PasswordAuthentication no 拒绝访问用户(则不能访问)
systemctl restart sshd ##重新加载
##更改端口进行连接
getenforce
setenforce 0 ##必须将值设置为0
systemctl disable --now firewalld ##关闭火墙
vim /etc/ssh/sshd_config ##编辑密钥
##port 2021 将端口改为2021(则在连接用户时必须输入正确端口)
systemctl restart sshd ##重新加载
ssh -l root ip -p * ##连接时 输入正确端口
##用户黑白名单
vim/etc/ssh/sshd_config ##编辑密钥
AllowUsers westos ##只允许访问westos用户
DenyUsers westos ##拒绝访问westos用户
PasswordAuthentication yes|no
setenforce 0
systemctl disable --now firewalld
Port 22 -- 2021 ssh -l root 172.25.254.117 -p 2021
AllowUsers user1 user2 ...
DenyUsers user1 user2 ...