网站搜索

如何在 Ubuntu 24.04 中安装和使用 SSH 服务


这个简单的教程展示了如何在 Ubuntu 24.04 中启用和设置 Secure Shell (SSH) 服务,以便您可以远程登录并在命令控制台中安全地传输文件。

Debian 和 Ubuntu 使用 OpenSSH (OpenBSD Secure Shell) 提供安全 shell 通道,用于从客户端远程在服务器上进行更改、传输数据和执行其他操作。

默认情况下未启用 SSH 服务。并且,这里我将介绍如何在 Ubuntu 24.04 中启用和配置它

第1步:安装OpenSSH服务器

首先连接到您的 Ubuntu 服务器,或按 Ctrl+Alt+T 在 Ubuntu 桌面上打开终端窗口。

当终端打开时,运行命令刷新系统包缓存:

sudo apt update

然后,通过命令安装 SSH 服务器:

sudo apt install ssh

作为选择,您可以使用 sudo apt install openssh-server 命令来执行相同的操作。

第二步:配置监听端口、认证等

从 Ubuntu 22.10 开始,OpenSSH 默认配置为使用 systemd 套接字激活。这意味着在收到传入连接之前 ssh 服务不会启动。

这可以节省至少 3MiB 的内存,这在虚拟机或 LXD 容器中运行多个 Ubuntu 实例时非常有用。

由于此更改,/etc/ssh/sshd_config 中的 PortListenAddress 等更改不起作用。用户必须编辑 /etc/systemd/system/ssh.socket.d 下的配置文件,或者恢复到以前的非套接字激活行为。

在 Ubuntu 24.04 中,用户再次可以编辑 /etc/ssh/sshd_config 文件来配置 SSH。唯一的变化是重新启动套接字而不是 ssh.service 来应用更改。

并且,要编辑该文件,请运行命令:

sudo nano /etc/ssh/sshd_config

文件打开后,删除要启用的任何行开头的“#”,然后根据需要更改值。例如:

  • 端口 12345 设置为侦听端口 12345,而不是默认的 22。
  • 如果有多个可用,请设置侦听 IP 地址 ListenAddress 172.67.181.180。默认情况下,所有服务器 IP 地址都允许进行 SSH 连接。
  • LoginGraceTime 30 – 设置等待密码的 30 秒超时。
  • PermitRootLogin no – 禁用 root 登录。
  • MaxAuthTries 3 – 最大身份验证失败次数。
  • PasswordAuthentication no – 禁用密码登录。在这种情况下,您需要启用基于密钥的身份验证。

有关更多信息,请参阅 SSH 官方文档。

步骤 3:应用 SSH 服务器配置更改

进行更改后,按 Ctrl+S 保存并按 Ctrl+X 退出 Nano 命令行文本编辑器。

然后,如上所述,重新启动套接字以应用更改:

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket

在我的例子中,我将端口号更改为 12345,可以通过运行 systemctl status ssh.socket 命令来验证。

第四步:在防火墙中打开监听端口

如果您更改了 SSH 端口并启用了防火墙(Ubuntu Desktop 中默认情况下未启用防火墙),则运行命令以允许新端口:

sudo ufw allow 12345

将号码 12345 更改为您的号码。然后,通过运行命令进行验证:

sudo ufw status verbose

步骤5:使用SSH远程登录或传输数据

最后,您可以运行 ssh 命令连接到删除服务器。例如:

ssh [email  -p 22345

在命令中:

  • ji 是我尝试登录的远程服务器中的用户名。换成你的。
  • 192.168.0.107是远程服务器的IP地址。换成你的。
  • -p 22345 指定端口。更改该号码,或者如果使用默认端口 22,则跳过该号码。

要将文件从本地上传到远程 SSH 服务器,请使用命令,例如:

scp -P 22345 ~/Downloads/librivox.zip [email :~/Documents

在本例中,它会将 librivox.zip 文件从我的本地下载文件夹上传到远程服务器的 ji 文档文件夹。

要从远程下载文件,请运行命令,例如:

scp -P 22345 [email :~/Documents/librivox.zip ~/Downloads

它将把 librivox.zip 文件从远程 ji 的 Documents 文件夹下载到我的本地下载文件夹

有关使用 SSH 命令的更多信息,请参阅官方文档。