因为SSH原因导致Xshell无法连接Linux

发布时间 2023-08-13 16:49:50作者: 冬枭

1.因为SSH原因导致Xshell无法连接Linux

如果你在尝试运行 sudo systemctl status sshd 命令时收到错误消息 Unit sshd.service could not be found,则表示你的系统中没有安装和启用 OpenSSH 服务器。

要安装并启用 OpenSSH 服务器,请按照以下步骤进行操作(假设你使用的是基于 systemd 的 Linux 发行版):

  1. 安装 OpenSSH 服务器:运行以下命令来安装 OpenSSH 服务器:

    对于 Ubuntu 或 Debian 等基于 apt 包管理器的发行版:

    Copy Code
    sudo apt update
    sudo apt install openssh-server
    

    对于 Fedora 或 CentOS 等基于 dnf 或 yum 包管理器的发行版:

    Copy Code
    sudo dnf install openssh-server   # 或者:sudo yum install openssh-server
    
  2. 启动 OpenSSH 服务器:运行以下命令来启动 OpenSSH 服务器:

    Copy Code
    sudo systemctl start sshd
    
  3. 验证服务状态:运行以下命令来检查是否成功启动了 OpenSSH 服务器,并获取其状态信息:

    Copy Code
    sudo systemctl status sshd
    

    如果一切正常,你将看到 OpenSSH 服务器的当前状态信息。

  4. 设置开机自启动:运行以下命令以确保 OpenSSH 服务器在系统重新启动时自动启动:

    Copy Code
    sudo systemctl enable sshd
    

这样,你就已经成功安装和启用了 OpenSSH 服务器。现在,你可以使用 SSH 客户端通过 SSH 协议连接到你的 Linux 系统。

请注意,具体的命令可能因你使用的Linux发行版而有所不同。上述命令适用于使用systemd作为系统初始化管理器的大多数流行Linux发行版,如Ubuntu、Fedora和CentOS等。如果你使用的是其他Linux发行版,请参考相关文档以获取正确的命令。

 

2023/8/13 14:44:20

Failed to enable unit: Refusing to operate on alias name or linked unit file: sshd.service
 
 

2023/8/13 14:45:00

如果在尝试运行 sudo systemctl enable sshd 命令时出现错误消息 Failed to enable unit: Refusing to operate on alias name or linked unit file: sshd.service,这意味着 sshd.service 服务是一个别名或链接到其他服务的单元文件。

在某些发行版中,sshd.service 可能是一个别名,实际对应的是其他名称的服务单元文件。为了能够正确启用该服务,你可以尝试手动指定具体的服务单元文件。以下是一种可能的解决方法:

  1. 查找真正的服务单元文件:运行以下命令来查找 sshd.service 的实际服务单元文件:

    Copy Code
    sudo systemctl list-unit-files --type=service | grep ssh
    

    这将列出所有与 SSH 相关的服务单元文件。找到其中与你使用的发行版和版本匹配的实际服务单元文件。

  2. 启用实际的服务单元文件:使用找到的实际服务单元文件来运行 systemctl enable 命令。假设实际服务单元文件为 openssh-server.service,则运行以下命令:

    Copy Code
    sudo systemctl enable openssh-server.service
    

    将命令中的 openssh-server.service 替换为实际的服务单元文件名。

这样,你应该能够成功启用实际的 SSH 服务单元文件,从而启用 SSH 服务。

请注意,具体的命令和步骤可能因你使用的发行版和版本而有所不同。确保根据你所使用的Linux发行版的文档或向相关社区寻求帮助以获得正确的命令和解决方案。