SSH-соединение без Kerberos: Как избежать необходимости в билете

Подключение к SSH-серверу с использованием Kerberos: решение распространенных проблем

Подключение к SSH-серверу с использованием протокола Kerberos может вызвать ряд проблем. В этой статье мы рассмотрим конфигурацию, необходимую для успешного подключения к SSH-серверу, а также распространенные ошибки из логов, которые могут указывать на неправильную настройку.

Конфигурация SSH для использования с Kerberos

Для начала, нам необходимо правильно настроить конфигурацию SSH. Ниже приведен пример конфигурации, который позволяет использовать Kerberos для аутентификации:

Host * 
HostName %h.my-domain.com
User my_username
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes

Include config.d/ssh_config

Эта конфигурация позволяет использовать билеты Kerberos для всех хостов, добавляя поддержку делегирования учетных данных. Дополнительно, необходимо исключить определенные хосты из использования Kerberos:

Host ai-buildingblocks ai-buildingblocks.my-domain.com ai-buildingblocks.my-domain.com
User root
GSSAPIDelegateCredentials no

Таким же образом вы можете ограничить использование Kerberos другими хостами, где это необходимо.

Проверка билетов Kerberos на локальном компьютере

Для успешного подключения к хосту через SSH вам потребуется проверить доступные билеты Kerberos на локальной машине. Для этого можно использовать команду:

klist -f

Эта команда отобразит все текущие активные билеты. Убедитесь, что билет Kerberos на сервер "test21.my-domain.com" отображается в этой информации. Если билеты отсутствуют, это может быть признаком неправильной настройки или отсутствия прав делегирования.

Ошибки при подключении и их диагностика

Если при подключении к серверу возникают ошибки, внимательно изучите вывод команды SSH с включенной отладкой. Например, команда:

ssh test21 -K -v

может вывести информацию о процессе подключения и аутентификации. В частности, убедитесь, что в выводе содержится строка Authenticated to test21.my-domain.com с указанием метода аутентификации gssapi-with-mic. Если этого нет, вероятнее всего, что Kerberos не был правильно использован для аутентификации.

Причины отсутствия билетов Kerberos на сервере

Если вы подключены к серверу, но не видите активных билетов Kerberos, это может быть связано с несколькими факторами:

  1. Пересылаемость билета: Если ваш TGT (Ticket Granting Ticket) не имеет флага F (пересылаемый), вы не сможете делегировать его. Для того, чтобы разрешить это, используйте команду:

    kinit -f

    Или добавьте следующую строку в ваш файл /etc/krb5.conf:

    [libdefaults]
    forwardable = yes
  2. Проблемы с делегированием: Ваши билеты на обслуживание могут не иметь флага O (действовать как делегат), что может привести к проблемам с делегированием. Вы можете настроить соответствующие параметры в KDC для того, чтобы совпадать с необходимыми требованиями.

Заключение

Проблемы с подключением к SSH-серверу с использованием Kerberos могут быть связаны с неправильной конфигурацией как на клиентской, так и на серверной стороне. Внимательное изучение конфигурации и использование команд для проверки состояния билетов Kerberos помогут вам устранить эти ошибки. Если вы сталкиваетесь с трудностями, обязательно проверьте права делегирования и пересылаемость ваших билетов.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *