如何在 Debian 9 或 10 上启用 SSH?
介绍
SSH(即 Secure Shell)是一种网络协议,允许两个系统之间进行安全通信。它用于通过不安全的网络(例如互联网)建立与远程服务器的安全连接。
通过此连接交换的数据是加密的,因此第三方无法拦截,这使得 SSH 成为远程管理和文件传输的绝佳选择。与 Telnet 或 FTP 等其他网络协议相比,SSH 具有多种优势。
在 Debian 9 或 10 上启用 SSH 的重要性
在 Debian 9/10 系统上启用 SSH 对于远程管理目的非常有用。启用 SSH 访问后,您只需使用终端仿真器或其他兼容软件即可从具有 Internet 连接的任何位置远程连接到服务器。
然后,您可以控制您的系统,就像您亲临机器控制台一样。此功能对于需要从不同位置同时管理多台服务器的系统管理员特别有利,因为他们不需要实际出现在每台计算机的位置。
远程管理服务器的能力还意味着与基础设施管理相关的停机时间可以保持在最低水平,因为在等待有人亲自到达现场解决问题的同时,问题可以立即得到快速解决,不会造成延迟。
先决条件
访问 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) 并更新指定侦听端口(端口 22)的行。
选择一个随机的高编号端口(大于 1024)并更新该值。更新配置文件后,使用以下命令重新启动 SSH 服务 -
$ sudo systemctl restart sshd
现在,通过 SSH 连接时,请使用此新端口号而不是 22。请记住,更改端口时,您需要相应地更新防火墙规则。
限制用户访问特定IP地址
如果您只希望特定用户或主机能够通过 SSH 连接,则可以通过 IP 地址限制访问。这是通过编辑配置文件 (/etc/ssh/sshd_config) 并为每个允许的 IP 地址或地址范围添加一行来完成的。通过 IP 地址限制访问的格式为 -
AllowUsers user@ip-address
例如 -
AllowUsers john@192.168.1.100
如果要允许多个用户或主机,请用空格分隔它们。
禁用通过 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 确实提供了一种远程访问服务器的安全方法,但如果配置不当,它仍然容易受到攻击。建议您定期更新系统并留意服务器上的任何可疑活动。