Поиск по сайту:

Как исправить «Ошибка SSH в разрешении отказано (publickey, gssapi-keyex, gssapi-with-mic)»?


Введение

Secure Shell (SSH) — это сетевой протокол, обеспечивающий безопасную связь между двумя удаленными компьютерами. Он широко используется для системного администрирования, передачи файлов и других безопасных сетевых служб.

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

Здесь в игру вступает SSH, поскольку он обеспечивает дополнительный уровень безопасности за счет шифрования данных во время передачи. Благодаря SSH пользователи могут удаленно получать доступ к своим серверам и устройствам, не беспокоясь о том, что их данные будут скомпрометированы.

Обзор ошибок отказа в разрешении SSH

Хотя SSH обеспечивает надежные протоколы безопасности для удаленных подключений, при попытке установить соединение между двумя компьютерами с использованием этого протокола могут возникнуть ошибки. Одной из наиболее распространенных ошибок, возникающих при использовании SSH, является сообщение об ошибке «Отказано в доступе».

Это сообщение об ошибке указывает на то, что у пользователя нет необходимых разрешений или учетных данных аутентификации для доступа к целевому устройству. Существует несколько причин, по которым эта ошибка может возникать в различных вариантах, таких как отказ в разрешении открытого ключа, отказ в разрешении gssapi-keyex или отказ в разрешении gssapi-with-mic.

Общие сведения об ошибках отказа в разрешении SSH

Распространенные ошибки отказа в разрешении SSH

SSH (Secure Shell) — жизненно важный инструмент, когда речь идет о безопасном соединении с удаленными серверами. Однако иногда могут возникать ошибки, которые могут вызвать разочарование пользователей.

Одним из наиболее распространенных типов ошибок, выдаваемых SSH, является ошибка «Отказано в доступе». Три наиболее распространенных варианта этой ошибки: «publickey», «gssapi-keyex» и «gssapi-with-mic».

Причины каждого типа ошибок и их влияние на доступ по SSH

Ошибка «открытого ключа» возникает, когда метод аутентификации, в частности аутентификация с открытым ключом, используется, но не может проверить подлинность клиента. Аутентификация с открытым ключом требует, чтобы и клиент, и сервер имели пару открытого и закрытого ключей.

Если они не совпадают, вы можете получить сообщение об ошибке такого типа. С другой стороны, ошибка «gssapi-keyex» возникает, когда пользователь пытается подключиться с использованием аутентификации GSSAPI, но терпит неудачу из-за проблем несовместимости с локальной настройкой Kerberos или тем, как GSSAPI настроен на стороне сервера.

Ошибка «gssapi-with-mic» обычно возникает, когда возникают проблемы с взаимной идентификацией между клиентом и сервером с использованием шифрования на основе Kerberos. Эта проблема обычно возникает, если вы неправильно настроили конфигурацию Kerberos или если у вашей установки есть проблемы с совместимостью.

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

Устранение ошибок, связанных с отказом в разрешении SSH

Пошаговое руководство по устранению ошибки открытого ключа

Если при попытке подключения к SSH-серверу вы получаете сообщение об ошибке «Отказано в доступе (открытый ключ)», можно предпринять несколько шагов для устранения этой проблемы. Сначала проверьте разрешения и право собственности на файлы ключей SSH. Файл закрытого ключа должен иметь права доступа 600 и принадлежать пользователю, который пытается подключиться.

Файл открытого ключа должен иметь права доступа 644 и принадлежать тому же пользователю или пользователю root. Затем убедитесь, что ваш открытый ключ правильно настроен в файлеauthorized_keys на сервере, к которому вы пытаетесь подключиться.

Вы можете сделать это, скопировав содержимое вашего локального файла ~/.ssh/id_rsa.pub в новую строку в удаленном файле ~/.ssh/authorized_keys. Если ни один из этих шагов не помог решить проблему, попробуйте создать новую пару ключей SSH и добавить ее в файлauthorized_keys.

Для этого запустите «ssh-keygen» в локальном окне терминала и следуйте инструкциям. Затем скопируйте новый открытый ключ (находится в ~/.ssh/id_rsa.pub) в новую строку в удаленном файлеauthorized_keys.

Пошаговое руководство по устранению ошибок gssapi-keyex и gssapi-with-mic

Если при попытке подключения SSH вы получаете сообщение об ошибке «Разрешение отклонено (gssapi-keyex)» или «Разрешение отклонено (gssapi-with-mic)», возможно, существуют проблемы с аутентификацией Kerberos. Чтобы устранить эти ошибки, сначала убедитесь, что проверка подлинности Kerberos правильно настроена как на стороне клиента, так и на стороне сервера. Убедитесь, что обе машины имеют одинаковые конфигурации Kerberos, выполнив команду «krb5-config» на каждой машине.

Если с конфигурацией Kerberos все правильно, но вы по-прежнему не можете подключиться через SSH с помощью этих методов, возможно, необходимо отключить аутентификацию GSSAPI. Это можно сделать, добавив следующую строку в файл /etc/ssh/ssh_config или ~/.ssh/config: «GSSAPIAuthentication no».

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

Расширенные исправления постоянных проблем

Использование ssh-агента для управления ключами

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

Чтобы использовать ssh-агент, сначала запустите процесс агента, выполнив в терминале следующую команду:

eval "$(ssh-agent -s)" 

Затем добавьте свой закрытый ключ в агент, выполнив:

ssh-add ~/.ssh/id_rsa 

Если ваш закрытый ключ имеет другое имя или путь, измените команду соответствующим образом. После добавления вы можете убедиться, что ключ загружен в агент, запустив `ssh-add -l`.

Настройка файла sshd_config для повышения безопасности

Файл `sshd_config` является основным файлом конфигурации демона OpenSSH. Изменяя этот файл, вы можете изменить различные параметры, связанные с поведением и безопасностью SSH-сервера.

Вот некоторые предлагаемые изменения, которые могут улучшить безопасность SSH:

  • Изменение порта по умолчанию. При изменении порта по умолчанию (22), используемого SSH, злоумышленникам становится сложнее найти ваш сервер и нацелиться на него.

    Однако не следует полагаться на это как на единственное средство защиты.

  • Отключение входа в систему root. Обычно считается хорошей практикой отключать вход в систему root через SSH.

    Это не позволяет злоумышленникам использовать грубую силу для распространенных комбинаций имени пользователя и пароля.

  • Включение двухфакторной аутентификации. Двухфакторная аутентификация (2FA) добавляет дополнительный уровень безопасности помимо аутентификации по имени пользователя и паролю.

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

  • Ограничение доступа с помощью правил брандмауэра. Помимо настройки sshd_config, рекомендуется ограничить доступ к вашему SSH-серверу с помощью правил брандмауэра, которые разрешают подключения только с доверенных IP-адресов.

Реализуя эти меры безопасности, вы можете значительно снизить риск несанкционированного доступа через SSH. Однако важно помнить, что ни одна мера безопасности не является надежной, и для поддержания безопасности системы необходимы регулярный мониторинг и обновления.

Заключение

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

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

Хорошей новостью является то, что эти ошибки можно легко исправить с помощью шагов по устранению неполадок и дополнительных исправлений. В разделах выше представлено пошаговое руководство по устранению ошибок открытого ключа, gssapi-keyex и gssapi-with-mic, а также расширенные исправления для постоянных проблем.

Статьи по данной тематике: