如何在 Arch Linux 系统上保障 SSH 服务器的安全性

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

Like (0)
Previous 2026年4月3日 上午11:05
Next 2026年4月3日 下午2:10

相关推荐

  • FTP、FTPS 与 SFTP 是什么?

    FTP FTP 也就是文件传输协议(英文全称 File Transfer Protocol),属于应用层协议,专门用于在网络环境中实现客户端与服务器之间的文件交换。一套完整的 FT…

    2026年6月22日
    0
  • 如何提高Ubuntu 18.04系统的SSH安全性?

    SSH服务是云服务器的主要访问点,同时也是最容易受到攻击的服务之一。本指南将通过不同的技巧和技术帮助提高服务的安全性。 更改端口 监听SSH连接的默认端口是22,更改此设置将允许将…

    2026年5月20日
    0
  • 如何在服务器上安装 PHP(Linux / Windows / macOS)

    这篇文章会带你在 Linux、Windows 和 macOS 三个系统上完成 PHP 的安装,并介绍如何与 Apache 或 Nginx 配合使用、安装常用扩展,以及验证安装是否成…

    2026年4月20日
    0
  • 60个你必须知道的Linux命令:新手10分钟速通指南

    刚开始接触Linux的时候,很多人有一个共同的感受: “看别人操作都行云流水,自己一进终端就发懵。” 不是你笨,也不是Linux故意为难你——只是你可能还没捋清楚,那些最常用的命令…

    2026年4月10日
    0
  • 服务器带宽究竟是什么意思?

    在规划网站建设及租用服务器时,企业需要依据自身业务的预估情况,来合理配置相应的服务器带宽资源。但许多用户对于带宽这一概念其实并没有清晰的认知。服务器带宽究竟指的是什么?服务器带宽配…

    2026年7月22日
    0
  • AESA自定义WAF规则库:行业级精准恶意攻击拦截的技术实现与落地指南

    在Web安全架构的演进过程中,通用WAF的标准化防护模式始终无法解决垂直行业的专属攻击防护痛点:电商的批量资损薅取、政企的敏感接口枚举、游戏的协议伪造刷量,这类攻击完全规避公开攻击…

    2026年8月26日
    0
  • 域名赎回期究竟指的是什么?

    大家会发现,未及时续费的域名,过期一段时间后会进入赎回期,续费的价格会比正常续费贵上十几倍。所谓域名赎回,是指域名因未在常规续费期限内完成续费,被移入国际域名总库,国际域名总库会对…

    2026年6月15日
    0
  • WordPress报413请求实体过大错误

    413 请求实体过大错误,是一种 HTTP 响应,意思是你发送的内容比服务器能接受的要大。HTTP 400 系列错误一般是客户端的问题,但 413 错误更多是因为上传的内容本身合法…

    2026年3月28日
    0
  • 什么是 HTML5?含义、元素和优势

    HTML5 是 HTML 的第五个版本,HTML 是一种标记语言,供 Web 浏览器用于可视化代码。它在网站功能、Web 内容开发等方面进行了多项改进。本文将介绍 HTML5 的含…

    2026年4月27日
    0
  • 如何在Ubuntu 18.04上安装MongoDB

    MongoDB是最流行的非关系型或NoSQL开源DBMS之一。它管理以JSON格式提供并以集合形式组织的文档中的数据的存储和表示,特别适用于需要更大的可伸缩性、扩展的速度和易用性以…

    2026年5月29日
    0