如何在 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

相关推荐

  • MongoDB是什么?优缺点、特点及应用场景一网打尽!

    在数字化时代,数据库扮演着至关重要的角色,无论是个人用户还是企业,都需要具备数据存储、缓存、搜索索引、异步处理以及批量处理等功能。目前存在多种不同的数据库和数据管理系统,其中Mon…

    2026年4月2日
    0
  • 什么是 Node.js?一文读懂其优势与不足

    在 Web 开发领域,JavaScript 长期占据客户端编程语言的主流地位。它的价值早已不局限于前端交互,在跨平台应用开发方面同样用途广泛。React Native、PhoneG…

    2026年4月20日
    0
  • 什么是 SSH?理解 SSH 及其加密技术

    远程连接服务器这件事,在没有加密的年代风险极高。用户名、密码、每一条执行的命令,全部明文跑在网络上,同一局域网里的人抓个包就能看清楚。Telnet 和 Rlogin 就是那时候的主…

    2026年4月14日
    0
  • 异步api是什么?与REST API的区别

    当今用户对实时信息的需求日益强烈,股价、列车时刻等数据都需要在发生的第一时间送达。如何实时推送这些关键信息,是每家企业面临的共同挑战。传统做法是让应用定期轮询后端服务器来获取最新数…

    2026年4月11日
    0
  • Python如何使用Selenium抓取动态网站

    对于用静态 HTML 和 CSS 构建的网站,像 Python 的请求库和 Beautiful Soup 这样的简单工具通常能在网页抓取时完成工作。然而,在处理基于动态 JavaS…

    2026年3月30日
    0
  • 异地备份是什么?守护企业数据安全的最后防线

    在恶意攻击日益频繁的当下,数据备份已成为保障数据安全的关键环节。然而,除了恶意病毒外,人为失误或自然灾害导致的数据中心损毁,也可能使服务器中存储的重要数据突然消失。丢失重要数据更可…

    2026年4月2日
    0
  • 网站打开速度越来越慢和主机有关系吗?

    网站上线运营一段时间后,页面加载越来越慢几乎是个绕不开的问题。 出现这种情况,很多站长的第一反应是去查代码、压图片、卸插件,或者觉得是最近网络不稳定。这些方向不能说没有道理,但常常…

    2026年4月13日
    0
  • 什么是反向DNS?如何做DNS反向查询?

    反向 DNS,也称为 rDNS,是网络和网络安全领域中一项重要技术。它本质上与传统的前向 DNS 查找相反,后者接收域名并返回相应的 IP 地址。相比之下,反向 DNS 查询会接收…

    2026年3月25日
    0
  • 如何使用远程桌面连接 Windows 服务器?

    远程桌面能够实现远程连接Windows 服务器的操作,管理员可以远程访问和管理服务器。 在这篇文章中,我们将介绍如何使用远程桌面连接到 Windows 服务器。此外,我们还将探讨用…

    2026年3月28日
    0
  • 理解带宽、延迟和流量

    在线观看电影、参加视频通话或部署云应用时,有三个无形因素决定了体验的流畅程度:带宽、延迟和流量。这些术语经常被混淆,但它们描述的是网络性能的不同方面。 带宽:定义与实际意义 带宽定…

    2026年4月17日
    0