如何在opensuse中启动时启用ssh

Mat*_*t J 4 ssh opensuse

我对 Linux 的经验有限,作为项目的一部分,我订购了一台 Linux 专用服务器。这是带有 OpenSuSE 13.2 的非托管服务器。当我尝试通过 ssh 进入服务器时,我收到一条连接被拒绝的消息

ssh: connect to host xxx.xxx... port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)

我认为他们的默认图像在启动时没有启用 ssh,但我可能错了。他们提供了一个救援系统,它是一个从 ram 安装和加载的 Linux 系统,用于故障排除。当我加载它时,我可以通过 SSH 连接到系统。我可以挂载硬盘并进行更改。

我想知道如何检查和/或需要做的任何配置更改,以在恢复系统中为 OpenSuSE 13.2 启用 ssh 启动。如果需要,我可以提供任何配置文件内容。我基本上来自 Windows 背景,因此如果您能提供详细的步骤,那将很有帮助。

作为我研究的一部分,我检查了 init.d 文件,那里没有sshd文件,安装了 ssh 我猜是因为存在/etc/ssh像`/etc/ssh/sshd_config 这样的文件。

小智 9

1. 验证安装

运行which sshd以获取调用它的路径。如果你没有得到/usr/sbin/sshd响应,它很可能没有安装。

2.安装sshd

运行zypper in openssh以安装应用程序。

3.检查防火墙

运行命令cat /etc/sysconfig/SuSEfirewall2 | grep sshd

您需要查看FW_CONFIGURATIONS_EXT="sshd"- 这意味着防火墙允许端口 22 上的传入流量。

如果找不到,可以使用文本编辑器添加它,如下所示:

vi /etc/sysconfig/SuSEfirewall2并找到它所说的行FW_CONFIGURATIONS_EXT=""并将其更改为FW_CONFIGURATIONS_EXT="sshd"

4.检查服务是否正在运行

systemctl status sshd | grep Active- 如果你得到了,Active: inactive (dead)你需要以systemctl start sshd.

再次运行命令systemctl status sshd | grep Active,您现在应该看到Active: active (running) since ...

5.启动时启用SSH

systemctl enable sshd


sys*_*138 5

从 Leap 15 开始,OpenSUSE 和 Tumbleweed 摆脱了旧的防火墙,转而使用 Fedora 上使用的。这会改变您添加 SSH 配置的方式:

firewall-cmd --add-service=ssh --zone=external --permanent
Run Code Online (Sandbox Code Playgroud)

--add-service=ssh由于 SSH 是预定义的服务之一,因此您可以将其用作服务。替补是--add-port=22

--zone=external更新外部区域。区域被分配给接口。

--permanent 在重新启动保持此更改。

为了验证这一点,/etc/firewalld/zones可以检查其中的 XML 文件。

firewall-cmd --add-service=ssh --zone=external --permanent
Run Code Online (Sandbox Code Playgroud)