Назад | Перейти на главную страницу

ssh требует много времени для подключения на некоторых хостах

У меня есть версия машины Linux Red-Hat 5.5.0

у меня проблема

если я выполняю со своей машины ssh на другую машину Linux - node1, я быстро вхожу в node1

но если я выполняю ssh на другой Linux-машине node2, тогда ssh займет много времени

посоветуйте пожалуйста, почему?

что нужно сделать, чтобы немедленно выполнить ssh на node2?

примечание - в отладке ssh я получаю ошибку - GSS?

Поскольку вы получаете сбой GSS, вы можете попробовать добавить:

GSSAPIAuthentication no

в / etc / ssh / sshd_config. Затем перезапустите службу

/etc/init.d/sshd restart

Попробуйте добавить следующую строку в /etc/ssh/sshd_config на узле 2:

UseDNS no

Затем перезапустите sshd:

/etc/init.d/ssh restart

Или, если вышеуказанного не существует:

/etc/init.d/sshd restart

Отредактируйте / etc / ssh / sshd_config на сервере и добавьте (если его там нет) внизу UseDNS no затем перезапустите демон SSH.

Помешает вашим машинам разрешать DNS и ускорит процесс.

  1. Взгляните сюда: OpenSSH FAQ особенно главу 3.3. Это также указывает на некоторые другие возможные причины задержки.
  2. или Наиболее подходящий способ узнать о проблеме - подключиться с помощью ssh в режиме отладки:

    # ssh -v <Server name>
    
    OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Applying options for *
    debug1: Connecting to mysql [192.168.0.29] port 22.
    debug1: Connection established.
    debug1: permanently_set_uid: 0/0
    debug1: identity file /root/.ssh/id_rsa type -1
    debug1: identity file /root/.ssh/id_rsa-cert type -1
    debug1: identity file /root/.ssh/id_dsa type -1
    debug1: identity file /root/.ssh/id_dsa-cert type -1
    debug1: identity file /root/.ssh/id_ecdsa type -1
    debug1: identity file /root/.ssh/id_ecdsa-cert type -1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
    debug1: match: OpenSSH_5.3 pat OpenSSH*
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: server->client aes128-ctr hmac-md5 none
    debug1: kex: client->server aes128-ctr hmac-md5 none
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
    debug1: Server host key: RSA 1a:2c:c4:62:cc:27:1b:76:6b:f7:b2:38:00:7b:3f:63
    debug1: Host 'mysql' is known and matches the RSA host key.
    debug1: Found key in /root/.ssh/known_hosts:5
    debug1: ssh_rsa_verify: signature correct
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: SSH2_MSG_NEWKEYS received
    debug1: Roaming not allowed by server
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
    ->> debug1: Next authentication method: gssapi-keyex
    debug1: No valid Key exchange context
    debug1: Next authentication method: gssapi-with-mic
    debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_0' not found<br/>
    

    Линия, отмеченная стрелкой, в моем случае вызывала задержку. Я закомментировал следующую строку на целевом сервере, и это решило проблему в моем случае

    #GSSAPI options
    #GSSAPIAuthentication no
    #GSSAPIAuthentication yes
    #GSSAPICleanupCredentials yes
    #GSSAPICleanupCredentials yes
    #GSSAPIStrictAcceptorCheck yes
    #GSSAPIKeyExchange no
    

    перезапустите демон SSH на удаленном сервере и попробуйте повторно подключиться .. все в порядке!

  3. Некоторые версии glibc (notably glibc 2.1 shipped with Red Hat 6.1) может потребоваться много времени, чтобы решить “IPv6 or IPv4″ адреса из доменных имен. С этим можно обойти, указав АдресСемейный инет вариант в ssh_config.
  4. Возможно, возникла проблема поиска DNS на клиенте или сервере. Вы можете использовать nslookup чтобы проверить это как на клиенте, так и на сервере, посмотрев имя и IP-адрес другого конца. Кроме того, на сервере найдите имя, полученное при поиске IP-имени клиента. Вы можете отключить большинство запросов на стороне сервера, установив UseDNS нет в sshd_config.

Я тоже нашел этот ответ:

  1. Укажите параметр отключения аутентификации GSSAPI при использовании команды SSH или SCP, например: ssh -o GSSAPIAuthentication=no appssupp@10.50.100.111

-ИЛИ-

  1. Явно отключите аутентификацию GSSAPI в файле конфигурации клиентской программы SSH, т. Е. Отредактируйте /etc/ssh/ssh_config и добавьте в эту конфигурацию (если ее еще нет в файле конфигурации): GSSAPIAuthentication no

-ИЛИ-

  1. Как 2, но в вашей частной конфигурации ssh
    редактировать /home/YOURUSERNAME/.ssh/config и добавить GSSAPIAuthentication no

=== ОШИБКА ===

Когда я пытаюсь подключиться к ssh-серверу (с ssh -v) У меня всегда было (моя система - Ubuntu 8.04):

debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Next authentication method: publickey

Дело в том, что на многих серверах установка ssh-соединения происходит очень медленно из-за этой проблемы.

https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/416264

Если вы недавно изменили имя хоста, обновите свой /etc/hosts.

Я изменил свое имя хоста, используя hostnamectl set-hostname и обновленный IPv4-адрес в /etc/hosts, но забыл обновить IPv6-адрес:

127.0.0.1              localhost
45.12.34.56            srv1.foobar.com
2a00:abc:123:6432::1   srv1.foobar.com