如何在 Debian 9 或 10 上启用 SSH?
简介
SSH(安全外壳)是一种网络协议,允许两个系统之间进行安全通信。它用于通过不安全的网络(例如互联网)建立到远程服务器的安全连接。
通过此连接交换的数据被加密,因此无法被第三方拦截,这使得 SSH 成为远程管理和文件传输的绝佳选择。SSH 提供了比其他网络协议(如 Telnet 或 FTP)更多的优势。
在 Debian 9 或 10 上启用 SSH 的重要性
在您的 Debian 9/10 系统上启用 SSH 对于远程管理目的非常有用。启用 SSH 访问后,您可以使用终端仿真器或其他兼容软件从任何具有互联网连接的位置远程连接到您的服务器。
然后,您可以像在机器控制台处一样控制您的系统。此功能对于需要同时管理多个服务器的系统管理员尤其有用,因为他们无需物理地出现在每台机器的位置。
能够远程管理服务器还意味着与基础设施管理相关的停机时间可以保持在最低水平,因为可以在无需等待人员亲自到现场解决问题的情况下快速解决问题。
先决条件
访问 Debian 9 或 10 服务器
在 Debian 9 或 10 上启用 SSH 之前,您需要访问在其中一个操作系统上运行的服务器。
Root 访问权限或 sudo 权限
要在 Debian 9 或 10 上启用 SSH,您需要具有服务器的 Root 访问权限或 sudo 权限。
Linux 命令的基本知识
要在 Debian 9 或 10 上启用 SSH,需要具备 Linux 命令的基本知识。
在 Debian 9 或 10 上启用 SSH
在 Debian 9 或 10 服务器上启用 SSH 是一个简单的过程,它涉及安装 OpenSSH 服务器软件包并将其配置为作为服务运行。要开始,请使用 Root 访问权限或 sudo 权限登录到您的 Debian 服务器,并按照以下步骤操作。
i) 更新系统并安装 OpenSSH 服务器软件包
第一步是更新系统的软件包列表并安装 OpenSSH 服务器软件包。这可以通过在终端中运行以下命令来完成:
sudo apt update sudo apt install openssh-server
这将下载并安装在您的 Debian 机器上运行 SSH 服务器所需的软件包。
ii) 配置 OpenSSH 服务器设置
安装 OpenSSH 软件包后,您需要配置其设置。OpenSSH 的主配置文件位于 `/etc/ssh/sshd_config`。
您可以使用您选择的任何文本编辑器(例如 nano 或 vim)打开此文件。有一些重要的配置您应该考虑更改,例如默认端口号、最大身份验证尝试次数等。
一个重要的配置是禁用通过 SSH 的 Root 登录,这可以通过将 `PermitRootLogin no` 添加到 `/etc/ssh/sshd_config` 来提高系统安全性,防止未经授权的访问。
iii) 启动并启用 OpenSSH 服务
配置完设置后,您需要启动并启用 SSH 服务,以便在每次启动机器时自动启动。使用以下命令:
sudo systemctl start ssh sudo systemctl enable ssh
这将启动并启用 ssh 服务。
iv) 测试 SSH 连接
您可以测试您的 SSH 连接以确保一切正常。为此,请在您的本地计算机上打开一个终端并键入:
ssh username@your-server-ip
将 `username` 替换为您要连接的用户名称,并将 `your-server-ip` 替换为您服务器的 IP 地址。
SSH 服务器的高级配置选项
更改默认端口号
默认情况下,SSH 运行在端口 22 上。问题是黑客知道这一点并试图利用它。
提高安全性的一个简单有效的方法是更改默认端口号。为此,您需要编辑 SSH 配置文件 (/etc/ssh/sshd_config) 并更新指定侦听端口 (Port 22) 的行。
选择一个随机的高编号端口(大于 1024)并更新此值。更新配置文件后,使用以下命令重新启动 SSH 服务:
$ sudo systemctl restart sshd
现在,通过 SSH 连接时,使用此新端口号而不是 22。请记住,更改端口时,需要相应地更新防火墙规则。
将用户访问权限限制到特定 IP 地址
如果您只想让特定用户或主机能够通过 SSH 连接,您可以按 IP 地址限制访问。这可以通过编辑配置文件 (/etc/ssh/sshd_config) 并为每个允许的 IP 地址或地址范围添加一行来完成。按 IP 地址限制访问的格式为:
AllowUsers user@ip-address
例如:
AllowUsers [email protected]
如果您想允许多个用户或主机,请用空格分隔它们。
禁用通过 SSH 的 Root 登录
一个常见的安全建议是禁用通过 SSH 的 Root 登录。在 Debian Linux 系统上,默认情况下,通常在 /etc/ssh/sshd_config 文件中启用通过 SSH 的 Root 登录,其中 PermitRootLogin 选项设置为 yes,这允许 Root 用户直接通过 ssh 连接登录。禁用 Root 登录有助于防止对服务器进行暴力破解攻击。
要禁用通过 SSH 的 Root 登录,请编辑配置文件 (/etc/ssh/sshd_config) 并更新指定 PermitRootLogin 的行 (PermitRootLogin no)。更新配置文件后,使用以下命令重新启动 SSH 服务:
$ sudo systemctl restart sshd
SSH 连接常见问题的故障排除
通过 SSH 连接时遇到的常见问题
连接到 SSH 服务器有时可能是一次令人沮丧的体验,尤其是在您遇到阻止您访问 Debian 9 或 10 服务器的常见问题时。两个最常见的错误是“权限被拒绝”和“连接被拒绝”。在许多情况下,这些错误与您的本地计算机或远程服务器上的配置问题有关。
权限被拒绝错误消息
当您尝试连接到 SSH 服务器并且身份验证过程失败时,会出现“权限被拒绝”错误消息。此错误可能由于多种原因发生,包括登录凭据错误、文件权限错误或身份验证设置错误。一个常见的原因是在尝试连接时使用了错误的用户名。
确保您使用远程系统上帐户的正确用户名。此错误发生的另一个原因可能是文件权限。
连接被拒绝错误消息
“连接被拒绝”错误消息通常发生在 ssh 命令中指定的端口号上没有服务器正在侦听时。这意味着远程系统上要么没有 SSH 守护程序正在运行,要么它正在侦听与您连接的端口号不同的端口号。
结论
在 Debian 9 或 10 上启用 SSH 是保护对服务器的远程访问的重要步骤。我们介绍了启用 SSH 所需的先决条件,并提供了启用它的分步指南。我们还讨论了可用于进一步增强 SSH 服务器安全性的高级配置选项。
重要的是要记住,虽然启用 SSH 确实提供了一种安全的方式来远程访问您的服务器,但如果配置不当,它仍然容易受到攻击。建议您定期更新系统并注意服务器上的任何可疑活动。