实验前操作环境设定:
- 创造新一个新的虚拟机westosb;打开真机的shell并输入命令:
westos-vmctl create westosb
- westosb虚拟机中环境配置
nm-connection-editor
创造新的虚拟机环境(步骤和前一篇内容相似,不做过多截图演示):
- 区分虚拟机背景配置操作
- 区分虚拟机(更改域名)
hostnamectl set-hostname westosa.westos.org ##设定主机westosa
hostnamectl set-hostname westosb.westos.org ##设定主机westosb
一、Openssh的功能
1.sshd服务的用途
- 作用:可以实现通过网络在远程主机中开启安全shell的操作
2.安装包
openssh-server
3.主配置文件
/etc/ssh/sshd-conf
4.默认端口
22
5.客户端命令
ssh
二、ssh
1.基本用法
ssh [-l 远程主机用户] <ip | hostname>
ssh -l root 172.25.254.251 ##通过ssh命令在主机上以root身份开启远程shell
##实验操作部分截图
远程连接界面:
注释:两台虚拟机westosa、westosb,将其中westosa作为客户端,westosb作为服务器进行实验操作!
- 一种导致连接失败的操作原因及解决方法:
在服务器上将/etc/ssh/
当中的key文件删除后,导致客户端无法重新连接
服务器上删除key:
客户端报错无法登陆:
解决方案:
重新连接登陆(即可登陆):
2.ssh常用参数
~ | ~ |
---|---|
-l | 指定用户登陆 |
-i | 指定私钥 |
-X | 开启图形 |
-f | 后台运行 |
-o | 指定连接参数 |
-t | 指定连接跳板 |
ssh -l root 172.25.254.251 ##指定root用户登陆,连接251主机
ssh -Xl root 172.25.254.251 gedit ##开启图形
ssh -Xfl root 172.25.254.251 gedit ##后台运行gedit
ssh -l root 172.25.254.251 -o StrictHostKeyChecking=no ##连接服务器时不需要输入yes
ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.251 ##通过中继1服务器连接251服务器
三、sshd key认证
1.认证类型
(1)对称加密
- 加密和解密是同一串字符
- 容易泄露/可暴力破解/容易遗忘
(2)非对称加密
- 加密用公钥,解密用私钥
- 不会被盗用/攻击者无法通过无密钥方式登陆服务器
2.生成对称加密密钥
方法1:交互式生成密钥
方法2:非交互式生成密钥
3.实验操作
(包括上两步,此操作westosa为服务端,westosb为客户端)
服务器加密(产生密钥后上锁):
ssh-copy-id -i /root/.ssh/id_rsa.pub username@serverip
更改认证方式命令:
vim /etc/ssh/sshd_config
服务器发送密钥给客户端命令:
scp /root/.ssh/id_rsa root@172.25.254.251:/root/.ssh/id_rsa
四、sshd安全优化参数详解
行数 | 内容 | 含义(用法) |
---|---|---|
17 | port 22 | 设定端口为22 |
46 | PermitRootLogin | 对超级用户登陆是否禁止 |
73 | PasswordAuthentication yes/no | 是否开启原始密码认证 |
46~ | DenyUsers username | 用户黑名单(哪个用户不可用) |
46~ | AllowUsers username | 用户白名单(只允许哪个用户可用) |
具体可参考命令:
man 5 sshd_config
- 实验操作(部分截图):
实验前设置防火墙以及内核配置:
getenforce
setenforce ##内核及加强防火墙修改
systemctl disable --now firewalld ##关闭防火墙
客户端:
服务端: