启用并配置 SSH 服务¶
本指南介绍如何设置 SSH 服务。
概述¶
openssh-server 捆绑包提供了用于在 Clear Linux* OS 中启用 SSH 服务的 OpenSSH 软件包。远程用户需要 SSH 服务才能使用加密登录 shell。
Clear Linux OS 将启用 sshd.socket 单元,该单元默认侦听端口 22 并根据需要启动 OpenSSH 服务。OpenSSH 首次启动时,它会生成服务所需的服务器 SSH 密钥。
必备条件¶
确保已安装 openssh-server 捆绑包。
要列出主机上的所有捆绑包,请输入:
sudo swupd bundle-list
要添加 openssh-server 捆绑包,请输入:
sudo swupd bundle-add openssh-server
更改默认端口¶
执行以下步骤以更改 OpenSSH 服务的默认侦听端口。
打开
sshd.socket
文件:sudo systemctl edit sshd.socket
将 [Socket] 部分和 ListenStream 选项添加到 sshd.socket 文件中,如下所示。第一个 ListenStream 条目用于删除 Clear Linux OS 默认侦听端口值。第二个 ListenStream 条目用于设置新的默认侦听端口值。在此示例中,我们将新的默认端口设置为 4200:
[Socket] ListenStream= ListenStream=4200
务必在
sshd.socket
文件中的最后一行文本之后包含一个新行。验证所做更改:
cat /etc/systemd/system/sshd.socket.d/override.conf
将显示以下输出:
[Socket] ListenStream= ListenStream=4200
重新加载 systemd 守护程序配置:
sudo systemctl daemon-reload
重新启动 sshd.socket 单元:
sudo systemctl restart sshd.socket
确认 sshd.socket 单元正在侦听新端口:
sudo systemctl status sshd.socket
注解
输出应该将 Active: 显示为 active(listening)。
启用 SFTP¶
出于安全考虑,Clear Linux OS 默认禁用 SFTP(SSH 文件传输协议) 子系统。要启用 SFTP 子系统,您必须配置 SSHD(SSH 守护程序) 服务文件。
为 SSHD 服务创建 systemd 放置目录:
sudo mkdir -p /etc/systemd/system/sshd@.service.d
创建以下文件:
/etc/systemd/system/sshd@.service.d/sftp.conf
将 OPTIONS 环境变量添加到
sftp.conf
文件中。[Service] Environment="OPTIONS=-o Subsystem=\"sftp /usr/libexec/sftp-server\""
重新加载 systemd 配置:
sudo systemctl daemon-reload
恭喜!SFTP 子系统已启用。
启用 root 登录¶
要通过 SSH 启用 root 登录,请执行以下步骤:
在
/etc
中创建 ssh 目录(如果尚未存在)。mkdir /etc/ssh
创建以下文件(如果尚未存在):
/etc/ssh/sshd_config
在
/etc/ssh/sshd_config
中设置配置变量:PermitRootLogin yes