温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SSH配置文件如何优化

发布时间:2025-06-07 07:05:20 来源:亿速云 阅读:115 作者:小樊 栏目:系统运维

SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中安全地进行远程登录和其他网络服务。优化SSH配置文件可以提高安全性、性能和用户体验。以下是一些常见的SSH配置优化建议:

1. 修改默认端口

将SSH的默认端口从22改为其他端口可以减少自动化攻击的风险。

Port 2222

2. 禁用Root登录

禁止root用户直接通过SSH登录,可以提高系统的安全性。

PermitRootLogin no

3. 使用公钥认证

使用公钥认证而不是密码认证可以大大提高安全性,并且更方便。

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

4. 限制用户登录

可以通过AllowUsers或DenyUsers指令来限制哪些用户可以登录。

AllowUsers user1 user2
# 或者
DenyUsers user3 user4

5. 启用SSH密钥交换算法

选择更安全的密钥交换算法,如curve25519-sha256@libssh.org。

KexAlgorithms curve25519-sha256@libssh.org

6. 启用主机密钥检查

确保每次连接时都检查主机密钥,以防止中间人攻击。

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

7. 启用Fail2Ban

Fail2Ban可以防止暴力破解攻击,通过封禁恶意IP地址。

# 安装Fail2Ban
sudo apt-get install fail2ban

# 配置Fail2Ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

8. 优化日志记录

增加日志记录的详细程度,以便更好地监控和排查问题。

LogLevel VERBOSE

9. 启用TCP Keepalive

启用TCP Keepalive可以检测并关闭不活跃的连接,节省资源。

ClientAliveInterval 60
ClientAliveCountMax 3

10. 限制连接数

限制每个用户的并发连接数,防止资源耗尽。

MaxSessions 5

11. 使用防火墙

配置防火墙以限制对SSH端口的访问。

# 使用iptables
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

12. 定期更新SSH服务器

定期更新SSH服务器软件,以确保安全漏洞得到修复。

sudo apt-get update
sudo apt-get upgrade openssh-server

示例配置文件

以下是一个示例的sshd_config文件:

# /etc/ssh/sshd_config

# 修改默认端口
Port 2222

# 禁用Root登录
PermitRootLogin no

# 使用公钥认证
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

# 限制用户登录
AllowUsers user1 user2

# 启用SSH密钥交换算法
KexAlgorithms curve25519-sha256@libssh.org

# 启用主机密钥检查
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

# 启用Fail2Ban
# 配置文件路径:/etc/fail2ban/jail.local

# 优化日志记录
LogLevel VERBOSE

# 启用TCP Keepalive
ClientAliveInterval 60
ClientAliveCountMax 3

# 限制连接数
MaxSessions 5

# 使用防火墙
# iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j DROP

通过以上优化措施,可以显著提高SSH服务器的安全性和性能。记得在修改配置文件后重启SSH服务以使更改生效:

sudo systemctl restart sshd
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手