Red de conocimiento informático - Conocimiento informático - Cómo resolver el problema de la conexión SSH lenta al servidor Linux

Cómo resolver el problema de la conexión SSH lenta al servidor Linux

Existen aproximadamente las siguientes razones:

1. El SSHD del SERVIDOR irá al DNS para encontrar el NOMBRE DE HOST de la IP del CLIENTE al que se accede si el DNS no está disponible o lo hay. No hay ningún registro relevante, consumirá algo de tiempo.

2. La autenticación gssapi-with-mic a veces tarda un poco

1. Pruebe para encontrar los motivos específicos:

1. depuración

# ssh -v 192.168.100.10

Entonces se generará mucha depuración a través del. información de depuración, puede ver dónde se retrasó la conexión

Por ejemplo, se mostrará la siguiente información:

debug1: Siguiente método de autenticación: gssapi-with-mic

debug1: Error de GSS no especificado. El código menor puede proporcionar más información

No se encontró caché de credenciales

2. Detectar el tiempo de conexión

# time ssh root@192.168.100.10 exit

2. Solución (se recomienda configurarlos uno por uno, porque las razones de la conexión lenta son diferentes para todos):

Nota: recuerde reiniciar el servicio sshd después de la modificación

# reinicio del servicio sshd

Desactivar la resolución inversa de DNS

.

En Linux, de forma predeterminada, la resolución DNS inversa de SSH está activada. Esto consume mucho tiempo, por lo que es necesario desactivarla.

# vi /etc/ssh/sshd_config

UseDNS=no

En el archivo de configuración, aunque se comenta UseDNS sí, el parámetro predeterminado es sí

2. Desactive la autenticación GSS en el SERVIDOR

Existe una alta posibilidad de que haya problemas con la autenticación gssapi-with-mic, por lo que desactivar la autenticación GSS puede mejorar la velocidad de la conexión ssh.

# vi /etc/ssh/sshd_config

GSSAPIAuthentication no

3 Modificar el archivo nsswitch.conf en el servidor

#. vi /etc/nsswitch.conf

Hosts encontrados

archivos dns

Cambiado a

hosts: archivos

hosts: el significado de la línea dns de archivos es el orden de resolución del nombre de dominio para los hosts a los que se accede. Primero se accede al archivo, es decir, al archivo /etc/hosts. se accede al dns para la resolución del nombre de dominio. Si el dns no puede Al acceder, esperará a que vuelva el tiempo de espera de acceso, por lo que el tiempo de espera es relativamente largo.

Nota: Si el SERVIDOR necesita acceder a otros servidores a través de nombres de dominio, debe conservar esta línea.

4. Modifique el archivo resolv.conf en el SERVIDOR

4.1 Elimine todas las IP no utilizadas en /etc/resolv.conf.

4.2. Elimine todos los servidores de nombres y el problema se solucionará, pero el servidor no podrá acceder a Internet.

4.3. Si el SERVIDOR se ha configurado con tarjetas de red duales, habrá una fila de direcciones IP que no se utilizan actualmente en el archivo. Simplemente elimine esta fila.

5. Modifique el archivo de hosts en el SERVIDOR

Agregue la IP del cliente y el NOMBRE DE HOST al archivo /etc/hosts en el SERVIDOR

6. Parámetro SERVER IgnoreRhosts

El parámetro IgnoreRhosts puede ignorar registros de inicios de sesión anteriores en el host. Configurarlo en Sí puede mejorar en gran medida la velocidad de conexión

# vi /etc/ssh/sshd_config

IgnoreRhosts sí

----------------Todo lo anterior está configurado en el SERVIDOR y lo siguiente está configurado en el CLIENTE-- ----- ------------

7. Modifique el archivo de hosts del cliente

Agregue la IP y el nombre de dominio del SERVIDOR de destino para que el servicio DNS local puede resolver la dirección de destino.

# vi /etc/hosts

192.168.100.11 doiido.com

Nota: El formato del archivo de hosts es 'SERVIDOR_IP destino NOMBRE_SERVIDOR destino'. Sin embargo, existe un inconveniente al utilizar este método si necesita agregar una resolución de nombre de dominio a cada SERVIDOR.

8. Modifique el archivo de configuración del cliente ssh_conf (nota, no sshd_conf)

# vi /etc/ssh/ssh_conf

Buscar

GSSAPIAuthentication sí

Cambiado a

GSSAPIAuthentication no