Openssh服务的部署及安全优化

1 Openssh功能介绍
2 ssh命令
3 Openssh服务的key认证
4 Openssh服务的安全优化

1.Openssh功能概述
Openssh
OpenSSH 是 SSH (Secure SHell) 协议的免费开源软件
软件安装名称
• Openssh-server
配置文件
• /etc/ssh/sshd_conf
默认端口(接口是用来区分IP地止上开启的不同功能)
• 22
客户端命令
• ssh
查看系统当中的opessh-server

[root@workstation Desktop]# rpm -qa | grep ope

在这里插入图片描述

2.ssh命令
ssh命 令 remote USER@remoteIP

参数 用途
-l 指定登录用户
-x 开启图形
-i 指定密钥
-p 指定端口
-f 后台运行
-o 指定连接参数
-t 指定连接跳板

2.1 查看虚拟机火墙是否允许真机连接
显示结果允许
在这里插入图片描述

2.2指定用户登陆:

[kiosk@foundation66 Desktop]$ ssh -l root 172.25.254.111

真机连接虚拟机是需输入虚拟机密码
在这里插入图片描述
2.2.1在虚拟机中查看连接者的IP

[root@workstation Desktop]# w -i

在这里插入图片描述
2.3开启图形:
当前在真机中登陆虚拟机是无法打开gedit图形界面,因为-l是文本连接,若要打开图像命令需在命令最后使用参数-X才可打开gedit

在这里插入图片描述

在这里插入图片描述
真机kiosk中运行进程有gedit
在这里插入图片描述
虚拟机中没有
在这里插入图片描述
2.4-p指定端口 ssh的指定端口22

在这里插入图片描述
2.5-f后台运行
不占用终端
在这里插入图片描述
2.6指定参数登陆
如下在登录时会被询问yes或no,
在这里插入图片描述
2.7使用-o参数可以忽略直接输入密码登录
在这里插入图片描述
2.8跳板连接
-t参数

ssh -t root@172.25.254.66 ssh 172.25.254.111
              当某台主机不能直接连接workstation则先连接IP:172.25.254.66的真机在连接workstation

3.Openssh服务的key认证
3.1 Op en ssh认 证 方 式

密码认证 密钥认证
至少6个字符 新型认证方式,分为公钥及私钥
包含数字,字母,下划线特殊符号等 不用记住密码
易泄漏 公钥上传服务器
可被暴力破解 私钥配对认证,不会被盗用
密码容易丢失 攻击者一般无法通过密钥登录服务器

3.2 Openssh KEY
支持rsa及dsa加密
加密方法

关于 Openssh的文件
• 内容
文件                        功能
~/.ssh/authorized_keys    用于保存用户的公钥文件
~/.ssh/known_hosts        辨别服务器的唯一散列码
~/.ssh/id_dsa             用户的私钥文件
~/.ssh/id_rsa.pub        用户的公钥文件
• 生成密钥 ssh-keygen
• 上传密钥 ssh-copy-id –i keyfile remoteUSER@remote  IP

3.3保持实验环境纯洁(.ssh/目录会在第一次登录服务器时生成,里面也会生成一个文件know_hostos)删除该目录文件
在这里插入图片描述
在这里插入图片描述
3.4生成公钥和私钥
密钥的生成位置客户端和主机都可以
使用默认文件目录和名称,密码忽略输入
密钥成功生成:
在这里插入图片描述

3.4.1.ssh/会生成以下文件如下:
解锁——私钥:/root/.ssh/id_rsa 上锁——公钥:/root/.ssh/id_rsa.pub
在这里插入图片描述
3.4.2上锁:
.ssh/会生成一个authorized_keys文件也就是锁,此文件内容与id_rsa.pub的内容一样
在这里插入图片描述
3.5免密登录:
未持有私钥的用户每次登录都会显示要输入密码,有安全因患。可暴力破解
在这里插入图片描述
3.5.1关闭显示密码登录,直接拒绝未拥有私钥的用户

[root@workstation ~]# vim /etc/ssh/sshd_config  编辑此文件

73行的yes改成no
在这里插入图片描述
3.5.2并且重启该程序[root@workstation ~]# systemctl reload sshd
此时再次登录直接拒绝访问
在这里插入图片描述
3.6把私钥给所需要连接的主机

[root@workstation ~]# scp /root/.ssh/id_rsa [email protected]:/home/kiosk/.ssh

在这里插入图片描述
3.6.1拥有私钥的状态下不需要输入密码直接登录服务端

在这里插入图片描述
3.7更改密钥让所有拥有密钥的用户都无法登录
在这里插入图片描述
在这里插入图片描述
3.7.1取消限制则需恢复文件原始名称

在这里插入图片描述
3.7.2更改为authorized_keys则可登录
在这里插入图片描述
4 Openssh服务的安全优化
sshd服务常用相关配置参数
主配置文件
• /etc/ssh/sshd_config
配置参数

• Port 22           监听端口
• Protocol 2        指定协议版本
• ListenAddress     绑定IP
• HostKey           设定HostKey密钥路径
• PermitRootLogin   设定超级用户是否能登录
• PubkeyAuthentication   公钥认证开关
• PasswordAuthentication 密码认证开关
• AllowUsers    用户白名单
• DenyUsers     用户黑名单

4.1端口更改:编辑/etc/ssh/sshd_config文件
prot 22 改为prot 8888
查看端口命令:netsata
a:所有
l:活跃开启的端口
t:tpp协议
u:upp协议
p:显示进程名称
n:之显示端口值
在这里插入图片描述
4.1.1注意:为了保证服务能够正常运行需先执行此命令setenforce 0 ,防止程序无法启动
在这里插入图片描述

4.2 ListenAddress 绑定IP 指定连接某一IP其他IP不能连接
listenAddress 0.0.0.0.表示所以IP都可连接成功
指定连接:#IPlistenAddress 172.25.254.111
下方#listenAddress ::为IPV6
在这里插入图片描述

listenAddress 172.25.254.111即只能连接此IP登录
在这里插入图片描述

4.3HostKey 设定HostKey密钥路径 一般使用设定路径
在这里插入图片描述
4.4 PermitRootLogin 设定超级用户是否能登录
设定超级用户能否登录
当前超级用户可以登录:
在这里插入图片描述
4.4.1 设定完成后不可以登录超级用户,但可以登录普通用户
设置/etc/ssh/sshd_config中的46行yes改为no即可
在这里插入图片描述
4.4.2 完成效果如下:输入三次密码后将直接退出不能登录

在这里插入图片描述
4.4.3 可以登录普通用户:

在这里插入图片描述
4.5 黑白名单

 PermitRootLogin yes  超级用户的黑白名单即:yes白名单no黑名单

当前所有用户都可登录
在这里插入图片描述
4.5.1 黑名单设置:设置westos用户不可登录

设置方法 DenyUsers 用户

在这里插入图片描述
4.5.2重新加载服务配置:
在这里插入图片描述

4.5.3再次登录如下:除westos用户外其他用户均可登录
在这里插入图片描述
4.5.4 设置白名单:设置白名单为westos

设置方法 AllowUsers 用户

在这里插入图片描述
4.5.6 重新加载服务配置
在这里插入图片描述
4.5.7 再次登录如下:
除westos用户外其他所有用户均不可登录
在这里插入图片描述

发布了9 篇原创文章 · 获赞 4 · 访问量 297

猜你喜欢

转载自blog.csdn.net/qq_46089299/article/details/104030033