![systemd 掩码后无法重新启用 sshd](https://linux22.com/image/1532321/systemd%20%E6%8E%A9%E7%A0%81%E5%90%8E%E6%97%A0%E6%B3%95%E9%87%8D%E6%96%B0%E5%90%AF%E7%94%A8%20sshd.png)
禁用后sshd
,我在通过 重新启用/启动它时遇到问题systemctl
。
我确信我搞砸了什么,但我做了以下事情:
- ~全新安装 xubuntu 16.04.2
apt install openssh-server
- 可能必须手动启用它;我不记得了
- 保留默认配置文件(仅通过本地 LAN 访问)
- (通过 ssh 成功登录到上一台机器上的 scp 数据)
- 尝试禁用 sshd,因为我不打算继续使用它
systemctl stop sshd && systemctl disable sshd && systemctl mask sshd
- (我这里做错什么了吗?)
- 现在我再次需要 ssh 访问,因此我尝试启用:
systemctl unmask sshd
- 输出删除了/dev/null
符号链接systemctl enable sshd
无法执行操作:没有该文件或目录
寻找解决方案时,除了(我认为)我已经尝试过的方法之外,我没有找到太多其他方法。我已重新安装apt remove openssh-server && apt install openssh-server
,但结果还是一样。
显示systemctl status sshd
:
sshd.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
我不熟悉systemctl
。如能得到帮助我将不胜感激!!
答案1
看起来,这sshd
是 ssh.service 的一种“别名”;当您安装 openssh-server 时,会设置符号链接来映射它。
但是,当您systemctl disable sshd
删除这些符号链接时,并且不会通过启用来恢复。
解决方案是systemctl enable ssh.service
答案2
我偶然发现了这个问题并有同样的痕迹:
$ sudo systemctl start sshd.service
Failed to start sshd.service: Unit sshd.service is masked.
按照建议的,systemctl enable ssh.service
没有起作用。
原来是我删除了 openssh-service。
dpkg -l openssh-server
我需要再次安装它:
sudo apt install openssh-server
服务已恢复:
$ systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-09-15 13:30:50 CEST; 1min 14s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1266628 (sshd)
Tasks: 1 (limit: 18525)
Memory: 1.5M
CGroup: /system.slice/ssh.service
└─1266628 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups