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

SSH-Verbindung vom TCP-Wrapper abgelehnt

Das Problem

Der Server konnte sich mit den folgenden Fehlern nicht über ssh anmelden.

Vom SSH-Client:

$ ssh -vvv [email protected]
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 10.131.12.10 port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/yaozhenqiang/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
ssh_exchange_identification: read: Connection reset by peer

Vom SSH-Server:

# /usr/sbin/sshd -D -ddd
....snip....
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug3: fd 5 is not O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug3: send_rexec_state: entering fd = 8 config len 583
debug3: ssh_msg_send: type 0
debug3: send_rexec_state: done
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
debug1: Connection refused by tcp wrapper

Die Lösung

Die SSH-Verbindung wurde vom TCP-Wrapper abgelehnt. Um festzustellen, ob ein Client-Rechner sich mit SSH verbinden darf, verweisen TCP-Wrapper auf die folgenden zwei Dateien:

  • /etc/hosts.deny
  • /etc/hosts.allow

Bitte führen Sie die folgenden Schritte aus, um festzustellen, welche IP-Adresse des SSH-Clients vom TCP-Wrapper abgelehnt wurde:

1. Kommentieren Sie alle Zeilen in /etc/hosts.deny und /etc/hosts.allow

aus

2. Jetzt sollte die SSH-Anmeldung normal funktionieren:

$ ssh [email protected]
[email protected]'s password:
Last login: Fri Mar 16 11:14:44 2018 from server1

3. Gehen Sie zum SSH-Server und öffnen Sie /var/log/secure und navigieren Sie zu den Meldungen um den Zeitstempel „Letzte Anmeldung:Fr. 16. März 11:14:44 2018“, die in Schritt 2 angezeigt werden, dann können wir die IP-Adresse des SSH-Clients abrufen, die zuvor vom TCP-Wrapper abgelehnt wurde.

4. Stellen Sie /etc/hosts.deny und /etc/hosts.allow wieder her und fügen Sie die folgende Zeile in /etc/hosts.allow hinzu (sagen wir, 192.168.1.2 ist die IP-Adresse, die wir in Schritt 3 erhalten)

# vi /etc/hosts.allow
sshd:192.168.1.2:allow

5. Überprüfen Sie, ob die SSH-Anmeldung funktioniert.


Linux
  1. Ssh – Verwendung eines bereits eingerichteten SSH-Kanals?

  2. Ssh – Passwörter an ein Skript übergeben?

  3. Verbindung zurücksetzen durch [ip] Port 22 (Ubuntu 16.04)?

  4. Fix ::Linux SSH-Fehlerverbindung abgelehnt

  5. mosquitto-client erhält verweigerte verbindung

So beheben Sie den Fehler „SSH-Verbindung abgelehnt“.

Verwenden der SSH-Konfigurationsdatei

Verbindung zum Host localhost Port 22 herstellen:Verbindung abgelehnt

SSH:connect to host localhost port 22:Verbindung abgelehnt

PuTTY-, CygwinX- und X11-Weiterleitungsverbindung abgelehnt

SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein