Failed to restart sshd.service: Unit sshd.service not nd
时间: 2025-06-14 13:25:28 浏览: 20
### 解决 SSH 服务重启失败及权限被拒绝的问题
当遇到 `Failed to restart sshd.service: Unit sshd.service not found` 和 `Permission denied, please try again` 的错误时,可能是由于 SSH 配置文件的参数设置不当、SSH 服务未正确安装或启动,以及用户权限配置错误导致的。以下是详细的解决方案。
#### 检查 SSH 服务是否已安装
确保系统中已安装 SSH 服务。如果未安装,需要重新安装 SSH 服务。例如,在基于 Debian 的系统中,可以使用以下命令安装:
```bash
sudo apt update
sudo apt install openssh-server
```
在基于 Red Hat 的系统中,可以使用以下命令:
```bash
sudo yum install openssh-server
```
#### 检查 SSH 配置文件
查看 `/etc/ssh/sshd_config` 文件中的配置参数,确保允许 root 用户登录,并启用密码认证[^2]。具体检查以下参数:
- `PermitRootLogin yes`:允许 root 用户通过密码登录。
- `PasswordAuthentication yes`:启用密码认证。
可以通过以下命令查看和修改配置文件:
```bash
sudo nano /etc/ssh/sshd_config
```
找到并修改相关行:
```bash
# 修改前
PasswordAuthentication no
PermitRootLogin prohibit-password
# 修改后
PasswordAuthentication yes
PermitRootLogin yes
```
保存文件后,重启 SSH 服务以使更改生效:
```bash
sudo systemctl restart sshd
```
#### 检查 SSH 服务状态
如果仍然无法重启 SSH 服务,检查服务状态以获取更多详细信息:
```bash
sudo systemctl status sshd
```
如果服务未找到,可能是因为服务名称不同。在某些系统中,服务名称为 `ssh` 而不是 `sshd`。尝试以下命令:
```bash
sudo systemctl restart ssh
```
#### 检查用户权限
确保尝试登录的用户具有登录权限,并且用户的主目录和 `.ssh` 目录权限设置正确。例如,用户主目录的权限应为 `700`,`.ssh` 目录的权限应为 `600`[^1]。
```bash
chmod 700 /home/用户名
chmod 600 /home/用户名/.ssh/authorized_keys
```
#### 测试连接
完成上述配置后,重新尝试通过 SSH 连接服务器:
```bash
ssh 用户名@IP地址
```
如果问题仍然存在,可以启用调试模式以获取更多详细信息:
```bash
ssh -v 用户名@IP地址
```
---
### 示例代码
以下是一个用于测试 SSH 服务状态的脚本示例:
```bash
#!/bin/bash
# 检查 SSH 服务状态
systemctl status sshd || systemctl status ssh
if [ $? -ne 0 ]; then
echo "SSHD service is not running or not installed."
else
echo "SSHD service is running."
fi
```
---
阅读全文
相关推荐

















