如何在 OpenSUSE 中启用 ssh

如何在 OpenSUSE 中启用 ssh

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

ssh: connect to host xxx.xxx... port 22: Connection refused

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

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

作为我研究的一部分,我检查了 init.d 文件,其中没有文件,我猜测 ssh 已安装,因为在/etc/ssh/sshd_configsshd中存在类似文件。/etc/ssh

答案1

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

答案2

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

firewall-cmd --add-service=ssh --zone=external --permanent

--添加服务 = ssh由于 SSH 是预定义服务之一,因此您可以将其用作服务。替代方案是--add-port=22

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

- 永恒的重启后仍保留此更改。

/etc/firewalld/zones为了验证这是否完成,可以检查XML 文件。

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>External</short>
  <description>For use on external networks.</description>
  <interface name="eth0"/>
  <service name="ssh"/>
  <masquerade/>
</zone>

相关内容