实验环境:
两台虚拟机 :
服务器端:192.168.122.11& 客户端:192.168.122.111
删除 /root/.ssh/ ,保持实验环境纯净
配置虚拟机环境,为了方便操作对虚拟机进行改名操作,和配置连接。
1. Openssh介绍
OpenSSH 是 SSH (Secure SHell远程连接) 协议的免费开源软件 。
软件安装名称——Openssh-server
配置文件——/etc/ssh/sshd_conf
默认端口——22(接口是用来区分Ip地址开启的不同)
客户端命令——ssh
rpm -qa | grep epenssh
查看系统中是否装有openssh-server
2. ssh命令的用法
参数 | 解释 |
---|---|
ssh 用户名@ip | 连接指定登录用户 |
ssh -l | 连接指定登录用户 |
ssh -i | 指定密钥 |
ssh -X | 开启图形 |
ssh -p | 指定端口 |
ssh -f | 后台运行 |
ssh -o | 指定连接参数 |
ssh -t | 指定连接跳板 |
基本用法:ssh -l root xxx.xxx.xxx.xxx
当输入<yes>
后,客户端会向服务器发送身份公钥,并保存此公钥到~/.ssh/know_hosts,服务器持有私钥,当客户主机再次连接时会对客户主机进行身份验证。
如果删除服务器已生成的密钥文件,重启sshd服务,服务器会生成新的密钥文件,此时身份验证改变,在客户端再次登陆时服务器会拒绝连接
当连接因为认证问题被拒绝时解决方案:vim ~/.ssh/know_hosts
:在此文件中删除报错提示相应的行即可
3. Openssh服务的key认证
3.1 Openssh的认证方式
对称加密:
加密和解密是同一串字符
容易泄漏 、可暴力破解 、容易遗忘
非对称加密:
加密用公钥,解密用私钥
不会被盗用 、攻击者无法通过无密钥方式登陆服务器
3.2 ssh key认证生成非对称加密密钥
1、生成密钥 ssh-keygen | ssh-keygen -f /root/.ssh/id_rsa -P ""
2、 将公钥传输给服务器端:ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.122.11
3、客户端可以直接登陆服务器端
1、
2、
3、
注意: 密钥的生成地无所谓。
3.3sshd安全优化参数详解
在进行sshd安全优化参数设置前,首先要执行这两条命令:
setenforce 0
:关闭内核加强级防火墙systemctl disable --now firewalld
:关闭系统防火墙
1、关闭原始认证
vim /etc/ssh/sshd_config
73 行 yes|no
测试结果:
2 改端口
17行 port XXX
直接登陆不成功,必须指定端口,ssh -l westos 172.25.254.113 -p xxx
测试结果:
3. 黑白名单:
AllowUsers user1 user2 .. 白名单(允许登陆的用户)
DenyUsers user1 user2 .. 黑名单(不允许登陆的用户)