Openssh服务的部署及安全优化

目录

    • 实验环境:
    • 1. Openssh功能介绍
    • 2. ssh命令
        • 2.1、命令的用法:
        • 2.2、ssh的相关参数:
    • 3.Openssh服务的key认证
        • 3.1、Openssh认证方式
        • 3.2、Openssh KEY
    • 4.Openssh服务的安全优化
        • 4.1、sshd服务常用相关配置参数

实验环境:

本章节的学习我们一共会用到三台Linux虚拟机,用来进行远程连接测试,因此要确保三台虚拟机的IP地址在同一网段,彼此之间可以互相通信。
虚拟机的网络连接设置:具体方法点击这里

1. Openssh功能介绍

  • OpenSSH 是 SSH (Secure SHell) 协议的免费开源软件。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接,人们通常利用SSH来传输命令行界面和远程执行命令。
  • 软件安装名称: Openssh-server
  • 配置文件:/etc/ssh/sshd_config
  • 默认端口:22
  • 客户端命:ssh

2. ssh命令

2.1、命令的用法:

ssh remoteUSER@remoteIP
Openssh服务的部署及安全优化_第1张图片

2.2、ssh的相关参数:

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

示例:
客户机A:192.168.110.128
客户机B:192.168.110.129
服务机:192.168.110.130
①:连接IP为192.168.110.130虚拟机的root用户,输入密码,登录成功
Openssh服务的部署及安全优化_第2张图片
在服务机上运行w -i 命令,可以查看到客户机A远程连接了自己
Openssh服务的部署及安全优化_第3张图片
执行exit,可退出登录
②:在客户机上远程连接服务机,执行vim命令
在这里插入图片描述
③:客户机A用客户机B作为跳板,连接服务机
Openssh服务的部署及安全优化_第4张图片
在服务机上执行w -i命令,可以看到是客户机B连接了自己,而不是客户机A
Openssh服务的部署及安全优化_第5张图片

3.Openssh服务的key认证

3.1、Openssh认证方式

1.密码认证

  • 至少6个字符
  • 包含数字,字母,下划线特殊符号等
  • 易泄漏
  • 可被暴力破解
  • 密码容易丢失

2.密钥认证

  • 新型认证方式,分为公钥及私钥
  • 公钥上传服务器
  • 私钥配对认证,不会被盗用
  • 攻击者一般无法通过密钥登录服务器

基于密钥的安全验证就是说,你必须为自己创建一对密匙,把公匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公匙,然后把它和你发送过来的公匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器

3.2、Openssh KEY

支持rsa及dsa加密
加密方法:

  • 生成密钥 ssh-keygen
  • 上传密钥 ssh-copy-id –i keyfile remoteUSER@remoteIP

示例:
客户机A: 192.168.110.128
客户机B: 192.168.110.130
服务机: 192.168.110.129
①:在客户机B上执行ssh-keygen生成密钥
Openssh服务的部署及安全优化_第6张图片
②:通过原始认证方式,客户机B把生成的公钥上传给服务机Openssh服务的部署及安全优化_第7张图片
此时,在服务机的/root/.ssh目录下自动生成了一个相应的已授权密钥文件,文件内容和客户机B的公钥文件内容一样
Openssh服务的部署及安全优化_第8张图片
Openssh服务的部署及安全优化_第9张图片
③:客户机B远程登录服务机,不需要输入密码
在这里插入图片描述
④:没有私钥的客户机A远程登录服务机,需要输入密码
在这里插入图片描述
⑤:为了防止暴力破解,修改服务机的配置文件,关闭密码认证,重启sshd服务
在这里插入图片描述
Openssh服务的部署及安全优化_第10张图片
⑥:没有私钥的客户机A远程登录服务机,直接被拒绝
在这里插入图片描述
⑦:客户机A想要远程登录客户机B的话,需要客户机B把私钥文件传输给客户机A
在这里插入图片描述
此时,客户机A也可免密登录服务机
⑧:如果服务机不想要别人免密登录自己,可以通过删除或重命名authorized_keys文件,破坏掉已授权密钥文件

4.Openssh服务的安全优化

4.1、sshd服务常用相关配置参数

配置文件
• /etc/ssh/sshd_config
Openssh服务的部署及安全优化_第11张图片
配置参数

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

示例:
服务机:IP =192.168.110.128
用户:student test
客户机:IP =192.168.110.129
示例①:在服务机上设定超级用户不能登录,修改配置文件后,reload一下sshd服务
在这里插入图片描述
Openssh服务的部署及安全优化_第12张图片
在客户机远程登录服务机的root用户,被拒绝,登录失败
在这里插入图片描述
示例②:在服务机上添加用户黑名单,禁止登录test用户
Openssh服务的部署及安全优化_第13张图片
在客户机登录test用户,登陆失败;可以成功登录student用户
Openssh服务的部署及安全优化_第14张图片
示例③:将示例②中设置的黑名单注释掉,添加白名单用户,只允许登录test用户
Openssh服务的部署及安全优化_第15张图片
在客户机尝试远程登录student用户,登录失败;可以成功登录test用户
Openssh服务的部署及安全优化_第16张图片

你可能感兴趣的:(Linux)