视窗苹果电脑软件设置安全安卓生产力Linux性能苹果配置设备管理自定义iPhone移动 全部

如何在Ubuntu上设置SSH服务器

已编辑 2 几周前 通过 ExtremeHow 编辑团队

SSH服务器乌班图Linux网络安全设置操作系统远程访问系统

如何在Ubuntu上设置SSH服务器

翻译更新 4 几周前

介绍

在Ubuntu上设置SSH服务器是远程管理和文件传输任务的重要步骤。SSH,全称Secure Shell,是一种加密网络协议,用于在不安全的网络上进行安全的数据通信。它被用来登录远程计算机执行命令,以及在网络上的计算机之间传输文件。在本指南中,我们将引导您完成在Ubuntu系统上设置SSH服务器的过程。

步骤1:更新系统包

在安装任何软件之前,确保您的系统包管理器持有关于可用软件包及其依赖关系的最新信息是很重要的。为此,请运行以下命令:

sudo apt update

sudo命令用于以提升的权限执行命令,这通常需要用于系统管理任务。apt update命令更新来自包存储库的可用包列表,以确保您可以访问最新版本。

步骤2:安装OpenSSH服务器

Ubuntu的SSH服务器包称为OpenSSH服务器。由于其简单性、安全性和稳健性,它是Linux生态系统中使用最广泛的SSH服务器包之一。要安装OpenSSH服务器,请在终端中执行以下命令:

sudo apt install openssh-server

此命令将从Ubuntu包存储库获取OpenSSH服务器包并将其安装在您的系统上。在安装过程中,包管理器还会自动为您启动SSH服务。

步骤3:检查SSH服务的状态

安装OpenSSH服务器后,您需要验证SSH服务是否正确运行。使用以下命令检查SSH服务的状态:

sudo systemctl status ssh

systemctl命令用于检查系统单元(包括服务)的状态。当您检查SSH服务的状态时,您应该看到一个指示服务“正在运行”的消息。如果它没有运行,您可以使用以下命令启动它:

sudo systemctl start ssh

如果您希望SSH服务在启动时自动启动,请使用以下命令:

sudo systemctl enable ssh

步骤4:配置SSH服务器

SSH服务器配置文件位于/etc/ssh/sshd_config。此文件控制SSH服务器的各种参数,包括端口号、密钥交换算法和身份验证方法。根据您的安全和访问需求配置此文件是很重要的。

更改默认端口

默认情况下,SSH服务器监听端口22。但是,将默认端口更改为非标准端口可以帮助提供另一层安全性。要更改端口,请使用文本编辑器打开SSH配置文件,例如:

sudo nano /etc/ssh/sshd_config

查找#Port 22这一行,然后按如下所示更改它:

Port 2222

去掉开头的#以取消注释该行。确保您选择的端口未被其他服务使用。

禁用root登录

允许通过SSH进行root登录可能构成安全风险。建议通过查找以下行来禁用它:

PermitRootLogin yes

然后按如下所示更改它:

PermitRootLogin no

这样做可以确保用户以非root用户身份登录,并在必要时切换到root。

启用公钥认证

公钥认证比密码认证更安全。要启用它,请确保在sshd_config文件中设置了以下行:

PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys

此设置允许客户端使用存储在用户帐户~/.ssh/authorized_keys文件中的SSH密钥进行认证。

步骤5:重启SSH服务

在对SSH配置文件进行更改后,您必须重启SSH服务以使更改生效:

sudo systemctl restart ssh

请注意,如果您更改了端口,则在通过SSH连接时必须指定新端口。例如,如果您将SSH端口更改为2222,请使用ssh user@hostname -p 2222

步骤6:设置防火墙规则

如果在您的Ubuntu服务器上启用了防火墙,您将需要允许传入的SSH连接。假设您使用的是UFW(简单防火墙),您可以使用以下命令启用防火墙并允许SSH流量:

sudo ufw allow sshsudo ufw enable

如果您更改了默认SSH端口,请用ssh端口号替换,例如:

sudo ufw allow 2222

此命令调整防火墙规则以允许指定端口上的SSH流量。

步骤7:测试SSH服务器

为了确保您的SSH服务器配置正确,请尝试从另一台计算机(可能是另一台计算机或虚拟机)连接到它。使用命令:

ssh username@server_ip

用您在服务器上的实际用户名替换username,用服务器的IP地址或主机名替换server_ip。如果您修改了端口,则必须使用-p选项指定它,例如:

ssh username@server_ip -p 2222

如果连接成功,将出现登录提示,允许您通过SSH登录到您的服务器。

步骤8:增强SSH安全性

为了防止未经授权的访问,进一步增强SSH设置的安全性是很重要的。以下是一些建议:

使用Fail2Ban

Fail2Ban是一款通过监控失败的登录尝试来帮助防止暴力攻击的程序。使用以下命令安装它:

sudo apt install fail2ban

默认情况下,Fail2Ban在3次登录失败后会禁用IP地址10分钟。您可以通过编辑位于/etc/fail2ban/jail.local的配置文件来自定义这些设置。

限制用户访问

考虑仅允许特定用户进行SSH访问。您可以通过在sshd_config文件中添加以下行来实现:

AllowUsers user1 user2

用您希望允许SSH访问的实际用户名替换user1user2

通过遵循这些步骤,您可以在您的Ubuntu系统上高效地设置和保护SSH服务器。该设置为远程系统管理和安全文件传输提供了一个强大而安全的环境。请记住始终更新您的系统和SSH服务器以防止漏洞。

如果你发现文章内容有误, 您可以


评论