Openssh服务的部署及安全优化
目录实验环境:1. Openssh功能介绍2. ssh命令2.1、命令的用法:2.2、ssh的相关参数:3.Openssh服务的key认证3.1、Openssh认证方式3.2、Openssh KEY4.Openssh服务的安全优化4.1、sshd服务常用相关配置参数实验环境:本章节的学习我们一共会用到三台Linux虚拟机,用来进行远程连接测试,因此要确保三台虚拟机的IP地址在同一网段,彼此之间..
目录
实验环境:
本章节的学习我们一共会用到三台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
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用户,输入密码,登录成功
在服务机上运行w -i 命令,可以查看到客户机A远程连接了自己
执行exit,可退出登录
②:在客户机上远程连接服务机,执行vim命令
③:客户机A用客户机B作为跳板,连接服务机
在服务机上执行w -i命令,可以看到是客户机B连接了自己,而不是客户机A
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生成密钥
②:通过原始认证方式,客户机B把生成的公钥上传给服务机
此时,在服务机的/root/.ssh目录下自动生成了一个相应的已授权密钥文件,文件内容和客户机B的公钥文件内容一样
③:客户机B远程登录服务机,不需要输入密码
④:没有私钥的客户机A远程登录服务机,需要输入密码
⑤:为了防止暴力破解,修改服务机的配置文件,关闭密码认证,重启sshd服务
⑥:没有私钥的客户机A远程登录服务机,直接被拒绝
⑦:客户机A想要远程登录客户机B的话,需要客户机B把私钥文件传输给客户机A
此时,客户机A也可免密登录服务机
⑧:如果服务机不想要别人免密登录自己,可以通过删除或重命名authorized_keys文件,破坏掉已授权密钥文件
4.Openssh服务的安全优化
4.1、sshd服务常用相关配置参数
配置文件
• /etc/ssh/sshd_config
配置参数
参数 | 解释 |
---|---|
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服务
在客户机远程登录服务机的root用户,被拒绝,登录失败
示例②:在服务机上添加用户黑名单,禁止登录test用户
在客户机登录test用户,登陆失败;可以成功登录student用户
示例③:将示例②中设置的黑名单注释掉,添加白名单用户,只允许登录test用户
在客户机尝试远程登录student用户,登录失败;可以成功登录test用户
更多推荐
所有评论(0)