GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ssh wird beim Neustart auf den Standardport zurückgesetzt?

Ich habe meinen Standard-SSH-Port auf meinem Heimserver geändert (in der Datei /etc/ssh/sshd_config Datei) auf Port 54747, dann ssh neu gestartet und sshd Services (ich bin mir nie sicher, welcher, also habe ich beides gemacht, nur um sicher zu gehen). Um meine Konfiguration zu testen, habe ich mich ohne Probleme abgemeldet und wieder angemeldet.

Ein paar Tage später installierte ich apt-Updates und startete dann meinen Server neu. Als ich versuchte, mich wieder per SSH einzuloggen (auf Port 54747), erhielt ich einen Verbindungsverweigerungsfehler.

Aus irgendeinem Grund habe ich versucht, SSH auf dem Standardport zu verwenden, und es hat funktioniert! Ich ging zurück, um die sshd_config zu überprüfen, aber sie hatte immer noch den benutzerdefinierten Port. Also habe ich ssh neu gestartet und sshd Dienste, und es kehrte zum „normalen“ Verhalten zurück (ssh auf Port 54747). Ich habe erneut versucht, neu zu starten, und die Verbindung wurde erneut abgelehnt…

Weiß jemand, was ich falsch gemacht habe?

Zusätzliche Details :

  • Ubuntu 16.04.2 LTS
  • Server wird auch ein HTPC verwendet, mit einer offenen Sitzung (gleicher Benutzer wie SSH) auf meinem Fernseher
  • Ich verwende SSH mit dem RSA-Schlüssel meines Laptops und habe die Passwortauthentifizierung deaktiviert
  • Früher habe ich mit sudo reboot -h now neu gestartet , aber nach der Suche stellte ich fest, dass einige Leute davon abrieten, also versuchte ich es mit sudo reboot , aber keine Unterschiede

BEARBEITEN
Ablauf der Ereignisse :

  1. Ändern Sie den SSH-Port von 22 in 54747 in /etc/ssh/sshd_config
  2. Starten Sie ssh- und sshd-Dienste neu
  3. Aktuelle SSH-Sitzung beenden
  4. SSH wieder erfolgreich auf Port 54747
  5. Neu starten
  6. SSH-Verbindungsfehler auf Port 54747, aber erfolgreich auf Port 22
  7. Starten Sie ssh- und sshd-Dienste neu
  8. SSH wieder erfolgreich auf Port 54747, Verbindungsfehler auf Port 22
  9. Neu starten und zurück zu 6 gehen

BEARBEITEN 1 : netstat Ausgabe

[email protected]:~$ sudo netstat -lntp | grep :54747
[email protected]:~$ sudo netstat -lntp | grep :22
tcp6       0      0 :::22                   :::*                    LISTEN      1/init  

BEARBEITEN 2 : service sshd status

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

BEARBEITEN 3 : lsof -i | grep ssh

systemd      1     root   46u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd      1     root   49u  IPv6  14641      0t0  TCP *:ssh (LISTEN)
sshd      4088     root    3u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4088     root    4u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4202      rgo    3u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4202      rgo    4u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)

Als Referenz:ATLAS ist der Hostname des Remote-Servers, 192.168.1.27 ist die LAN-IP meines Laptops, und der Befehl wurde zwischen den Schritten 6 und 7 ausgeführt.

ufw status

Status: inactive

BEARBEITEN 4 : ps -ef |grep sshd

root      4088     1  0 22:40 ?        00:00:00 sshd: rgo [priv]
rgo       4202  4088  0 22:40 ?        00:00:00 sshd: [email protected]/1 sshd

Akzeptierte Antwort:

ssh kann je nach Konfiguration von systemd „socket-aktiviert“ werden, was bedeutet, dass zunächst systemd den Listening-Port einrichtet und sshd nur gestartet wird, wenn sich ein Client zum ersten Mal verbindet. Dies soll die Startzeit beschleunigen:Service-Daemons werden nur bei Bedarf gestartet.

Verwandte:Wie zeichnet man den Bildschirm in Ubuntu auf?

Dies bedeutet jedoch, dass Sie systemd auch auf den passenden Port konfigurieren müssen. Sie finden die Systemkonfiguration in /lib/systemd/system/ssh.socket die ListenStream=22 auflistet . Um dies zu überschreiben, erstellen Sie eine Datei /etc/systemd/system/ssh.socket.d/port.conf (Erstellen des Verzeichnisses ssh.socket.d falls erforderlich), die Folgendes enthält:

[Socket]
ListenStream=
ListenStream=54747

Ändern Sie die Nummer auf den gewünschten Port. Der erste leere Eintrag löscht den vorherigen Standardwert, und der nachfolgende Eintrag fügt den neuen hinzu. Dies überschreibt die Standardeinstellung, die in /lib/systemd/system/ssh.socket geliefert wird und muss zusätzlich zu erfolgen Ändern von /etc/ssh/sshd_config .

Führen Sie dann sudo systemctl daemon-reload aus um systemd über Ihre Änderungen zu informieren, und sudo systemctl reload ssh wenn Ihr ssh-Daemon zuvor ausgeführt wurde.


Ubuntu
  1. Bereitstellung von Kippo SSH Honeypot auf Ubuntu Linux

  2. So richten Sie SSH-Tunneling ein

  3. So ändern Sie den SSH-Port unter Lubuntu 20.04 Linux

  4. So ändern Sie den SSH-Port in CentOS

  5. HTTPS-SSH-Tunnel

So aktivieren Sie SSH auf CentOS

So installieren Sie den SSH-Server in Ubuntu 20.04

So ändern Sie den SSH-Port in Ubuntu

So ändern Sie den Standard-SSH-Port in Linux [richtig und sicher]

Wie ändere ich den SSH-Port auf Centos 7.x?

Wie ändere ich den SSH-Port auf Ubuntu?