如何在 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
中的 Port
和 ListenAddress
等更改不起作用。用户必须编辑 /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 命令的更多信息,请参阅官方文档。