已编辑 2 几周前 通过 ExtremeHow 编辑团队
SSH服务器乌班图Linux网络安全设置操作系统远程访问系统
翻译更新 4 几周前
在Ubuntu上设置SSH服务器是远程管理和文件传输任务的重要步骤。SSH,全称Secure Shell,是一种加密网络协议,用于在不安全的网络上进行安全的数据通信。它被用来登录远程计算机执行命令,以及在网络上的计算机之间传输文件。在本指南中,我们将引导您完成在Ubuntu系统上设置SSH服务器的过程。
在安装任何软件之前,确保您的系统包管理器持有关于可用软件包及其依赖关系的最新信息是很重要的。为此,请运行以下命令:
sudo apt update
sudo
命令用于以提升的权限执行命令,这通常需要用于系统管理任务。apt update
命令更新来自包存储库的可用包列表,以确保您可以访问最新版本。
Ubuntu的SSH服务器包称为OpenSSH服务器。由于其简单性、安全性和稳健性,它是Linux生态系统中使用最广泛的SSH服务器包之一。要安装OpenSSH服务器,请在终端中执行以下命令:
sudo apt install openssh-server
此命令将从Ubuntu包存储库获取OpenSSH服务器包并将其安装在您的系统上。在安装过程中,包管理器还会自动为您启动SSH服务。
安装OpenSSH服务器后,您需要验证SSH服务是否正确运行。使用以下命令检查SSH服务的状态:
sudo systemctl status ssh
systemctl
命令用于检查系统单元(包括服务)的状态。当您检查SSH服务的状态时,您应该看到一个指示服务“正在运行”的消息。如果它没有运行,您可以使用以下命令启动它:
sudo systemctl start ssh
如果您希望SSH服务在启动时自动启动,请使用以下命令:
sudo systemctl enable ssh
SSH服务器配置文件位于/etc/ssh/sshd_config
。此文件控制SSH服务器的各种参数,包括端口号、密钥交换算法和身份验证方法。根据您的安全和访问需求配置此文件是很重要的。
默认情况下,SSH服务器监听端口22
。但是,将默认端口更改为非标准端口可以帮助提供另一层安全性。要更改端口,请使用文本编辑器打开SSH配置文件,例如:
sudo nano /etc/ssh/sshd_config
查找#Port 22
这一行,然后按如下所示更改它:
Port 2222
去掉开头的#
以取消注释该行。确保您选择的端口未被其他服务使用。
允许通过SSH进行root登录可能构成安全风险。建议通过查找以下行来禁用它:
PermitRootLogin yes
然后按如下所示更改它:
PermitRootLogin no
这样做可以确保用户以非root用户身份登录,并在必要时切换到root。
公钥认证比密码认证更安全。要启用它,请确保在sshd_config
文件中设置了以下行:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
此设置允许客户端使用存储在用户帐户~/.ssh/authorized_keys
文件中的SSH密钥进行认证。
在对SSH配置文件进行更改后,您必须重启SSH服务以使更改生效:
sudo systemctl restart ssh
请注意,如果您更改了端口,则在通过SSH连接时必须指定新端口。例如,如果您将SSH端口更改为2222
,请使用ssh user@hostname -p 2222
。
如果在您的Ubuntu服务器上启用了防火墙,您将需要允许传入的SSH连接。假设您使用的是UFW(简单防火墙),您可以使用以下命令启用防火墙并允许SSH流量:
sudo ufw allow ssh
sudo ufw enable
如果您更改了默认SSH端口,请用ssh
端口号替换,例如:
sudo ufw allow 2222
此命令调整防火墙规则以允许指定端口上的SSH流量。
为了确保您的SSH服务器配置正确,请尝试从另一台计算机(可能是另一台计算机或虚拟机)连接到它。使用命令:
ssh username@server_ip
用您在服务器上的实际用户名替换username
,用服务器的IP地址或主机名替换server_ip
。如果您修改了端口,则必须使用-p
选项指定它,例如:
ssh username@server_ip -p 2222
如果连接成功,将出现登录提示,允许您通过SSH登录到您的服务器。
为了防止未经授权的访问,进一步增强SSH设置的安全性是很重要的。以下是一些建议:
Fail2Ban是一款通过监控失败的登录尝试来帮助防止暴力攻击的程序。使用以下命令安装它:
sudo apt install fail2ban
默认情况下,Fail2Ban在3次登录失败后会禁用IP地址10分钟。您可以通过编辑位于/etc/fail2ban/jail.local
的配置文件来自定义这些设置。
考虑仅允许特定用户进行SSH访问。您可以通过在sshd_config
文件中添加以下行来实现:
AllowUsers user1 user2
用您希望允许SSH访问的实际用户名替换user1
和user2
。
通过遵循这些步骤,您可以在您的Ubuntu系统上高效地设置和保护SSH服务器。该设置为远程系统管理和安全文件传输提供了一个强大而安全的环境。请记住始终更新您的系统和SSH服务器以防止漏洞。
如果你发现文章内容有误, 您可以