4

My experience with Linux is limited and as part of a project, I ordered a Linux dedicated server. This is an unmanaged server with OpenSuSE 13.2. When I try to ssh into the server, I get a connection refused message

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

I think their default image does not comes with ssh enabled on startup but I may be wrong. They provide a rescue system which is a Linux system installed and loaded from ram for troubleshooting. When I load this, I can connect to the system via SSH. I can mount the hdd and make changes.

I'd like to know how to check and/or whatever configuration changes that need to be done to enable ssh on startup for OpenSuSE 13.2 from within a recovery system. I can provide any configuration file contents if required. I'm basically from a Windows background and hence if you can provide verbose steps, it will be helpful.

As part of my research, I checked init.d file, there was no sshd file in there, ssh is installed I guess as there exists files in /etc/ssh like `/etc/ssh/sshd_config.

kasperd
  • 31,086
Mat J
  • 141

2 Answers2

10

1. Verify installation

Run which sshd to get the path it is called from. If you don't get /usr/sbin/sshd in response, it is most likely not installed.

2. Installing sshd

Run zypper in openssh to install the application.

3. Check firewall

Run the command cat /etc/sysconfig/SuSEfirewall2 | grep sshd.

You need to see FW_CONFIGURATIONS_EXT="sshd" - This means the firewall allows incoming traffic on port 22.

If you do not find it, you may add it using a text editor like this:

vi /etc/sysconfig/SuSEfirewall2 and locate the line where it says FW_CONFIGURATIONS_EXT="" and change it to FW_CONFIGURATIONS_EXT="sshd"

4. Check the service is running

systemctl status sshd | grep Active - If you get Active: inactive (dead) you need to start it with systemctl start sshd.

Run the command again systemctl status sshd | grep Active and you should now see Active: active (running) since ...

5. Enable SSH on startup

systemctl enable sshd

hesonline
  • 101
5

OpenSUSE as of Leap 15, and Tumbleweed got rid of the old firewall in favor of as used on Fedora. That changes how you add the SSH config:

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

--add-service=ssh Since SSH is one of the predefined services, you can use it as a service. The alternate is --add-port=22.

--zone=external Updates the external zone. Zones are assigned to interfaces.

--permanent Persists this change across reboots.

To verfiy this is done, the XML files in /etc/firewalld/zones can be examined.

<?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>
sysadmin1138
  • 135,853