SSH 服务
SSH(Secure Shell)是一种安全的远程登录协议,OpenSSH是其开源实现。它使用22端口,配置文件位于/etc/ssh/,支持对称和非对称加密。服务搭建时可修改sshd_config增强安全性,如禁用密码验证、限制root登录、修改默认端口等。相关命令包括scp用于加密文件传输。建议配合fail2ban防护暴力破解,通过监控日志动态封锁攻击IP。配置时需开启防火墙,安装fail2ba
一、简介
ssh提供安全地远程登录
ssh是Secure Shell(安全的壳)的缩写
ssh是一个应用层协议
openSSH是ssh协议的免费开源实现
1、相关参数
软件包: openssh
服务名: sshd
默认端口: 22
主配置文件: /etc/ssh/sshd_config、/etc/ssh/ssh_config
日志配置文件: /var/log/secure
连接方式: ssh [用户名@]IP地址
安全性: 在数据传输过程中进行加密
2、加密方式
对称加密
本质:加密密钥、解密密钥使用同一套密钥
优点:维护一种密钥、加密解密速度快
不足:密钥管理困难
非对称加密
本质:公钥加密、私钥解密
公钥加密的密文只能通过对应的私钥进行解密
通过公钥推理出私钥的可能性微乎其微
3、密码验证
验证内容
服务器端公钥、客户端的用户名和密码(复杂性)
验证结果
第一次连接需要验证服务器公钥
保存服务器公钥后,每次连接需输入用户密码


4、密钥验证
优点:
可以实现主机间的免密登录
验证内容:
服务器端公钥、客户端公钥


二、服务搭建
ssh服务相关配置
vim /etc/ssh/sshd_config
取消dns域名反解: UseDNS no
禁止密码验证: PasswordAuthentication no
禁止使用root远程登录: PermitRootLogin no
修改默认端口: Port 新端口
限制ssh监听的ip: ListenAddress 监听IP
限制监听端口
vim /etc/ssh/sshd_config
ListenAddress 0.0.0.0 #可以登录任何一个IP
ListenAddress 指定IP #只能登录指定IP
应用场景
一般生产中的服务器有多个IP,分内网和外网
出于安全考虑,一般只允许通过内网IP进行远程登录
cd /etc/ssh/sshd_config.d
修改 01开头的文件 yes->no 会导致root无法进行远程登陆

禁止密码验证

三、相关命令
scp
scp: secure copy, 基于ssh的、进行安全的文件拷贝
用于Linux下进行安全的文件复制
加密传输、速度较慢
不占用资源
不提高系统负荷
格式: scp [-P 端口] 源文件路径 用户名@目标IP: 目标位置路径
补充
配置SSH防护:fail2ban
#工作原理:
Fail2Ban 的原理是通过监控日志文件、识别恶意行为模式,并动态调整防火墙规则 来禁锢攻击者的IP地址一段时间。其核心目标是防御暴力破解等自动化攻击。
#开启防火墙 systemctl start firewalld
#安装软件(需要联网,在epel源中)
清缓存 建立缓存
dnf clean all
dnf makecache
安装服务
dnf -y install epel-release
dnf -y install fail2ban
#添加配置 vim /etc/fail2ban/jail.conf

#启动服务 systemctl restart fail2ban

#服务器上查看ssh防护结果:
fail2ban-client status
fail2ban-client status sshd

更多推荐


所有评论(0)