GNU/Linux >> Tutoriales Linux >  >> Linux

Conexión SSH rechazada por TCP Wrapper

El problema

El servidor no pudo iniciar sesión a través de ssh con los siguientes errores.

Desde el cliente ssh:

$ 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

Desde el servidor ssh:

# /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

La solución

La conexión ssh fue rechazada por el envoltorio tcp. Para determinar si una máquina cliente puede conectarse a SSH, los contenedores TCP consultan los dos archivos siguientes:

  • /etc/hosts.deny
  • /etc/hosts.permitir

Siga los pasos a continuación para determinar qué dirección IP del cliente ssh fue rechazada por el envoltorio TCP:

1. Comente todas las líneas en /etc/hosts.deny y /etc/hosts.allow

2. Ahora el inicio de sesión ssh debería funcionar normalmente:

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

3. Vaya al servidor ssh, abra /var/log/secure y navegue a los mensajes alrededor de la marca de tiempo "Último inicio de sesión:viernes 16 de marzo 11:14:44 2018" que se muestran en el paso 2, luego podemos obtener la dirección IP del cliente ssh que fue rechazado por el envoltorio TCP anteriormente.

4. Restaure /etc/hosts.deny y /etc/hosts.allow y agregue la siguiente línea en /etc/hosts.allow (digamos, 192.168.1.2 es la dirección IP que obtenemos en el paso 3)

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

5. Verifique si el inicio de sesión ssh está funcionando.


Linux
  1. Conexión rechazada a MongoDB errno 111

  2. Mantener viva la sesión SSH

  3. ¿Cómo salgo de una conexión SSH?

  4. SSH:conéctese al host localhost puerto 22:conexión rechazada

  5. Conexión de reenvío PuTTY, CygwinX y X11 rechazada

Cómo reparar el error de conexión SSH rechazada

Uso del archivo de configuración SSH

Restablecimiento de conexión por [ip] Puerto 22 (ubuntu 16.04)?

conectarse al host localhost puerto 22:conexión rechazada

Mosquitto-cliente obtener conexión rechazada

SSH:cómo incluir el comando -t en el archivo ~/.ssh/config