OpenSSH 是一种安全的远程登录协议,能够在不安全的网络上建立安全通道。它使系统管理员能够通过安全通道远程管理 Linux 服务器。它采用客户端-服务器架构,并允许用户远程连接到 SSH 服务器。与未加密的协议不同,SSH 会对流量、登录会话和密码进行加密。OpenSSH 是最受欢迎且应用最广泛的协议之一。
在这篇文章中,我们将展示如何在 Arch Linux 系统上设置安全的 SSH 服务器。
步骤 1 – 配置存储库
在 Arch Linux 系统中,默认的存储库已过时,因此您需要修改默认的镜像列表。您可以通过编辑镜像列表配置文件来完成此操作:
nano /etc/pacman.d/mirrorlist
删除所有行,并添加以下行:
## Score: 0.7, United States Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch ## Score: 0.8, United States Server = http://lug.mtu.edu/archlinux/$repo/os/$arch Server = http://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch ## Score: 0.9, United Kingdom Server = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch ## Score: 1.5, United Kingdom Server = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch Server = http://archlinux.dcc.fc.up.pt/$repo/os/$arch ## Score: 6.6, United States Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch ## Score: 6.7, United States Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch ## Score: 6.8, United States Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch ## Score: 7.1, India Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch ## Score: 10.1, United States Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch
保存并关闭文件,然后使用以下命令更新所有软件包索引:
pacman -Syu
步骤 2 – 更改 SSH 默认端口
默认情况下,SSH 监听 22 端口,因此容易受到 DDoS 攻击。在这种情况下,建议将默认 SSH 端口更改为大于 1024 的端口。
要更改 SSH 端口,请编辑 SSH 配置文件。
nano /etc/ssh/sshd_config
找出以下直线:
Port 22
然后,将其替换为以下这行:
Port 8087
保存并关闭文件,然后重启 SSH 服务以使更改生效。
systemctl restart sshd
步骤 3 – 禁用 SSH root 登录
root 用户拥有对文件系统的无限制访问权限,因此 root 账户是黑客最青睐的目标。您可以通过编辑 SSH 配置文件来禁用 root 用户通过 SSH 登录。
nano /etc/ssh/sshd_config
找出以下直线:
#PermitRootLogin prohibit-password
已将其替换为以下代码行。
PermitRootLogin no
保存并关闭文件,然后重启 SSH 服务以使更改生效。
步骤 4 – 限制 SSH 访问
此外,仅向有限用户授予远程 SSH 服务器访问权限也是一种良好的实践。您可以通过 SSH 配置文件定义允许列表和拒绝列表。
nano /etc/ssh/sshd_config
添加以下行:
AllowUsers user1 user2 user3
保存并关闭文件,然后重启 SSH 服务以应用更改。
systemctl restart sshd
步骤 5 – 启用基于密钥的身份验证
使用 SSH 密钥而非密码来验证 SSH 服务器身份是一个好主意。为此,首先需要编辑 SSH 配置文件并启用基于密钥的身份验证。
nano /etc/ssh/sshd_config
修改以下这行代码:
PubkeyAuthentication yes
保存并关闭文件,然后重启 SSH 服务。
systemctl restart sshd
步骤 6 – 禁用密码登录
禁用密码验证并启用密钥验证也是一个好主意。
nano /etc/ssh/sshd_config
找到并修改以下这行代码:
PasswordAuthentication no
保存并关闭文件,然后重启 SSH 服务以应用更改。
systemctl restart sshd
结论
本文介绍了如何在 Arch Linux 上保护 OpenSSH 服务器。希望本指南能帮助您保护 SSH 服务器的安全。如您在云计算方面遇到问题,欢迎咨询余初云!
原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2278.html
