SSH tarda en hacer una conexión [duplicar]

25

Acabo de instalar Ubuntu 11.10, y cada vez que trato de hacer SSH en mis servidores es muy lento. Antes de que aparezca la solicitud de contraseña, puede tardar entre 40 segundos y 60 segundos.

Yo suelo:

ssh [email protected]

Una vez que inicie sesión, todo está bien y funciona rápido.

¿Por qué tarda tanto y cómo puedo solucionarlo? ¿Hay alguna opción en el comando SSH que pueda usar?

joel
fuente

Respuestas:

44

Esto es lento porque el demonio OpenSSH usa DNS para ejecutar una búsqueda inversa en el nombre de host del cliente para asegurarse de que sea válido

sudo vi /etc/ssh/ssh_config

Comente las siguientes líneas

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

O

Agrega esto:

UseDNS no
Libro de zeus
fuente
66
Hay un archivo sshd_config para el lado del servidor y ssh_config para el lado del cliente. Establecer estas opciones en el cliente y el servidor en el archivo ssh_config no me ayudó. Solo después de configurar GSSAPIAuthentication noy GSSAPIDelegateCredentials yesagregar UseDNS noel archivo sshd_config del servidor, me aceleró la conexión.
metakermit
1
¿No hay implicación de seguridad de hacer esto?
TheStoryCoder
@TheStoryCoder buena pregunta, tendré que comprobarlo dos veces, activó mi curiosidad ahora ...
Libro de Zeus
1
Después de agregar UseDNS no, obtuve Bad configuration option: usednscuando intenté iniciar sesión ssh en otro servidor.
Casper
1
Prueba a poner UseDNSa noen /etc/sshd_configo /etc/ssh/sshd_config. NO /etc/ssh_config!
Yu Jiaao
13

Esto es solo un complemento de la respuesta del Libro de Zeus. En caso de que no tenga acceso de root (sudo), aún puede configurarlo.

Necesita editar su archivo "user ssh_config" que es:

vi $HOME/.ssh/config

(Nota: tendría que crear el directorio $ HOME / .ssh si no existe)

Y añadir:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Puede hacerlo por host si es necesario :) ejemplo:

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Asegúrese de que la dirección IP coincida con la IP de su servidor. Una gran ventaja es que ahora ssh proporcionará autocompletado para este servidor. Por lo tanto, puede escribir ssh lin+ Taby se debe completar automáticamente ssh linux-srv.

Puede agregar un montón de opciones útiles para que no tenga que escribirlas cada vez:

User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....

Entonces, en lugar de escribir, ¡ ssh -C -p 1022 -i ~/.hidden/prv-key-4096bit [email protected]un simple ssh linux-srvsería suficiente!

Huygens
fuente