Openssh服务的部署及安全优化

实验环境:

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

1. Openssh功能介绍

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

2. ssh命令

2.1、命令的用法:

ssh [email protected]
Openssh服务的部署及安全优化

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服务的部署及安全优化
在服务机上运行w -i 命令,可以查看到客户机A远程连接了自己
Openssh服务的部署及安全优化
执行exit,可退出登录
②:在客户机上远程连接服务机,执行vim命令
Openssh服务的部署及安全优化
③:客户机A用客户机B作为跳板,连接服务机
Openssh服务的部署及安全优化
在服务机上执行w -i命令,可以看到是客户机B连接了自己,而不是客户机A
Openssh服务的部署及安全优化

3.Openssh服务的key认证

3.1、Openssh认证方式

1.密码认证

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

2.**认证

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

3.2、Openssh KEY

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

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

4.Openssh服务的安全优化

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

配置文件
• /etc/ssh/sshd_config
Openssh服务的部署及安全优化
配置参数

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