如何在 Debian 9 或 10 上启用 SSH?

linuxoperating systemopen source

简介

SSH,即安全外壳 (Secure Shell),是一种允许两个系统之间进行安全通信的网络协议。它用于通过不安全的网络(例如互联网)与远程服务器建立安全连接。

通过此连接交换的数据经过加密,因此无法被第三方拦截,这使得 SSH 成为远程管理和文件传输的绝佳选择。与 Telnet 或 FTP 等其他网络协议相比,SSH 具有多项优势。

在 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 登录,这可以防止未经授权的访问,从而提高系统安全性。您可以通过在"/etc/ssh/sshd_config"中添加"PermitRootLogin no"来实现。

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 系统中,默认情况下,通过 SSH 进行 root 登录通常在 /etc/ssh/sshd_config 文件中启用,并将 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 服务器安全性的高级配置选项。

需要注意的是,虽然启用 SSH 确实提供了一种安全的远程访问服务器的方式,但如果配置不当,仍然容易受到攻击。建议您定期更新系统并留意服务器上的任何可疑活动。


相关文章


有用资源