Как исправить ошибку аутентификации SSH | Блог Timeweb Cloud

На что еще обратить внимание

Перевод “аутентификация не удалась” дает общее представление о причине неудачи. Проблема может заключаться не только в пароле или ключе. Алгоритмы шифрования и контроля доступа имеют решающее значение.

Windows

Для создания ключей в Windows можно использовать интерфейс командной строки PowerShell. Утилита ssh-keygen поддерживается последними версиями. Шаги те же, что и для Linux.

Более эффективной стратегией является использование пакета приложений PuTt. В него входит генератор PuTtGen.

  1. Запустите PuTTYgen и нажмите кнопку Generate.
  2. Переместите указатель мыши, чтобы сгенерировать случайные данные.
  3. Введите дополнительную ключевую фразу, с помощью которой будет зашифрован личный ключ.

Используя кнопки Save public key и See private, сохраните файлы в нужных местах после завершения процедуры.

В чем суть ошибки

Сообщение “authentication failed” имеет прямой перевод на русский язык. Аутентификация пользователя не прошла, о чем свидетельствует вывод терминала.

Восстановление открытого ключа

Если открытая часть вашего закрытого ключа была утеряна.

Использование утилиты ssh-keygen является самым простым методом.

Запустите терминал и выполните команду:

ssh-keygen -y -f ~/.ssh/id_rsa

Путь к приватной части компьютера – here.ssh/id_rsa, а в ответ вы получите строку символов. Вы должны добавить этот незаконченный раздел на сервер.

Эту проблему можно решить в среде Windows с помощью программы PuTtet. В ней есть кнопка Load, с помощью которой можно загрузить секретный ключ. Для этого достаточно знать, в какой папке компьютера он хранится.

Вы увидите окно с открытым ключом для последующего импорта. поле. Вы можете скопировать и отправить открытую часть на сервер после ее открытия.

Закрытая часть не может быть перестроена при построении другой закрытой части.

Использование ssh ключей в панели управления vds

Зачисление: моментально.
Комиссия: 0%.


Для оплаты вы будете перенаправлены на платёжный шлюз ПАО СБЕРБАНК. Соединение с платёжным шлюзом и
передача информации осуществляется в защищённом режиме с использованием протокола шифрования SSL. В
случае если ваш банк поддерживает технологию безопасного проведения интернет-платежей Verified By Visa,
MasterCard SecureCode, MIR Accept, J-Secure для проведения платежа также может потребоваться ввод
специального пароля.

Использование ssh-copy-id

Встроенная утилита ssh-copy помогает автоматически передавать значение открытого ключа. Как Linux, так и macOS поддерживают эту технику.

Команда:

ssh-copy-id имя_пользователя@адрес_сервера 

При первом подключении локального компьютера может появиться сообщение о том, что удаленный хост не распознан. Введите “yes” и нажмите Enter, чтобы сервер был запомнен. После этого утилита самостоятельно проверит локальный компьютер и его открытый ключ. Затем вам потребуется ввести пароль. Перед отправкой открытого ключа необходимо сначала установить соединение.

Все открытые ключи, которые добавляются на сервер, хранятся в этом файле, который находится в каталоге in.ssh/authorized_keys на локальном компьютере. Это сообщение заставит терминал показать следующую информацию:

Использование устаревших алгоритмов

Устаревшие ключи DSA не поддерживаются OpenSSH начиная с версии 7. Ключи ssh-dss недостаточно сильны, чтобы полагаться на них для защиты соединения с сервером.

Если у вас есть устаревшие ключи, то лучше всего сгенерировать и добавить новые.

Хотя существует и другой вариант, вы должны использовать его на свой страх и риск. Редактирование конфигурационного файла /etc/sshd_config – это то, что мы обсуждаем. Вы можете использовать ключи от устаревшего алгоритма цифровой подписи, если установите PubkeyAcceptedKeyTypes в dss.

Клиенту SSH могут потребоваться дополнительные опции. Например, при подключении к серверу с устаревшим программным обеспечением. Подключение к хостам под управлением CentOS 6, в частности, вызывает проблемы, поскольку поддержка этой операционной системы была прекращена в конце 2020 года. Опция essh-dss должна быть включена, чтобы исправить эту ошибку:

Как работает secure shell

Безопасное удаленное подключение к операционной системе обеспечивается с помощью Secure Shell. Данные, которые можно получить с помощью этого устройства, могут быть им же и переданы.

Клиент и сервер составляют основную конфигурацию.

  • Клиент используется на компьютере, устанавливающем соединение.
  • Сервер работает на системе, к которой должно быть установлено соединение.

Кросс-платформенная совместимость является значительным преимуществом. Например, вы можете подключиться к серверу Ubuntu с помощью клиента, работающего под Linux или Windows. Вы можете передавать файлы или получить доступ к командной строке оболочки. шифрование сообщений между клиентом и серверами.

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

Копирование и вставка

Вы не можете использовать стандартные сочетания клавиш Ctrl C и V в окне консоли программы Putty.

  • Чтобы вставить скопированный текст (например, пароль или команду) в консоль Putty, просто щелкните по нему правой кнопкой мыши. Вам не нужно больше ни на что нажимать.
  • Чтобы скопировать текст из окна Putty, выделите его левой кнопкой мыши. Это скопирует его в буфер обмена.

Официальные документы, открытые источники содержат все инструкции, необходимые для работы с PuTTF.

Наверх

Копирование открытого ключа на сервер

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

Следующие команды можно использовать для добавления openssh-сервера на хост, если он еще не установлен и не работает.

apt install openssh-server
systemctl start sshd.service
systemctl enable sshd.service

Открытый ключ может передаваться несколькими способами.

Настройка прав доступа

Что касается владельцев файлов, OpenSSH строго соблюдает правила.

Выставите на сервере следующие доступы:

  • ~./ssh – 700.
  • ~./ssh относится к текущему счету.
  • ~/.ssh/authorized_keys – 600.
  • ~/.ssh/authorized_keys принадлежит текущей учетной записи.

Проверьте на клиенте разрешение следующих файлов:

  • ~ / .ssh / config – 600.
  • ~ / .ssh / id_ * – 600.

Почему важно иметь владельца? Например, вы можете настроить доступ Secure Shell от имени одного пользователя, а затем подключиться к нему, используя другую учетную запись. Даже чтение содержимого защищенных каталогов с аутентифицированными данными для него не разрешено.

Неправильная конфигурация клиента

Наиболее типичная ошибка – использование SSH/SFTP клиента (SSH, PuTtie) без полной настройки всех необходимых параметров.

Когда вы используете неподдерживаемый сертификат, вы сталкиваетесь с другой распространенной проблемой. Вместо того чтобы использовать коды ключей из файлов ppk и “PUTITE”, вы должны добавить файл ключа *.pem в PuTTA.

Общая информация

Для ряда протоколов удаленного доступа, включая SSH, компания PuTt предоставляет бесплатный клиент.

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

В пакет PuTTY, помимо самого клиента для Telnet и SSH, входит несколько полезных утилит, которые позволяют существенно упростить работу:

  • PSCP: клиент для SCP (копирование файлов по зашифрованному протоколу с управлением из командной строки);
  • PSFTP: клиент для SFTP;
  • Pageant: агент аутентификации SSH для PuTTY, PSCP, PSFTP и Plink;
  • PuTTYgen: утилита для генерации ключей SSH и т.д.

Можно установить весь пакет, или только модули, необходимые для его работы.

Английские версии Microsoft Windows и Linux PuTT можно найти на официальном сайте проекта.

Наверх

Отключение пароля

Проверка пароля в Ubuntu отключается ключом SSH. Без пароля никто не сможет получить доступ к вашему серверу.

Перед отключением пароля убедитесь, что закрытый ключ надежно хранится и имеет резервную копию. Вы не сможете удаленно подключиться к серверу, если отключите пароль и потеряете закрытый ключ.

Откройте конфигурацию ключей SSH в файле sshd_config:

sudo nano /etc/ssh/sshd_config

Найдите строку ‘PasswordAuthentication’ и измените значение ‘yes’ на ‘no’. 

Восстановите службу, чтобы применить конфигурацию:

sudo service ssh restart

Определенно, это мудрое решение в области безопасности. Злоумышленники могут делать столько догадок, сколько захотят. Сейчас эта система сломана. Единственный человек, который может подключиться, – это тот, у кого на компьютере сохранен закрытый ключ.

Ошибка при использовании ключей

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

Еще одна ошибка возникает при использовании слишком большого количества ключей без указания нужного.

Перенос через парольный доступ

Secure Shell можно использовать для копирования содержимого файла, если у вас нет инструмента ssh-copy-id. Для начала работы выполните следующую команду.

cat ~/.ssh/id_rsa.pub | ssh имя_пользователя@адрес_сервера "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod go= ~/.ssh/authorized_keys"

Это элементарно, но сама операция проста.

  1. Сначала мы извлечем содержимое файла – cat ~/.ssh/id_rsa.pub
  2. Затем подключимся к удаленному хосту – ssh username@server_address
  3. Затем создадим каталог и файл для хранения информации об открытом ключе.

В данном случае переадресующим символом является “.” Он добавляет содержимое файла, а не заменяет его. Если вы добавляете несколько ключей, это будет полезно.

Подключение с помощью putty

Вы можете установить соединение с помощью PuTTA, если вы использовали PuTTA для генерации ключей.

  1. Запустите программу PuTTY.
  2. На вкладке Сеанс введите имя хоста или IP.
  3. Оставьте порт по умолчанию на 22.
  4. Выберите тип соединения – SSH.
  5. Перейдите на вкладку Подключение – SSH – Auth.
  6. Нажмите кнопку Обзор и выберите ранее зарегистрированный закрытый ключ.
  7. Нажмите Открыть, чтобы установить соединение.

Вы можете получить доступ к серверу, если PuTt успешно подключился.

Подключение с помощью ключей

В Ubuntu все настроено для соединения SSH.

Выполните команду:

ssh имя_пользователя@адрес_сервера

Локальный компьютер не распознает удаленный хост при первом подключении. Введите “да” и нажмите Enter, чтобы сделать его постоянным.

Вам будет предложено ввести пароль закрытого ключа, если он был задан. Если вы знаете пароль, вы сразу же войдете в систему.

Преимущества использования ключей

Удаленный доступ теперь может иметь дополнительный уровень безопасности благодаря асимметричному шифрованию. Идея шифрования с открытым ключом была разработана в 1975 году Уитфилдом Диффи и Мартином Хеллманом.

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

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

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

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

Противоречия в файле конфигурации

Убедитесь, что в файле /etc/ssh_config нет параметров, конфликтующих друг с другом.

Обычно значение параметра PasswordAuthentication установлено в yes или by-password. Пользователи больше не могут войти в комнату, поскольку сервер не может их проверить.

Ручной перенос

Если ssh-copy_id недоступен (например, если вы используете Windows), вы все равно можете создать ключ file.ssh/authorized вручную и добавить в него необходимые значки.

Отобразите содержимое public key на локальной машине командой:

cat ~/.ssh/id_rsa.pub

Запишите ответ и скопируйте его. Формат должен выглядеть следующим образом:

ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAABAQDC4OSYUK5tAsjYMI4mLWDQleLz1d0IBz7G1cfsC9xnMMNYfFUSVzjZzsPVnNKzNwcO6dFs8WiE37gUI8p/ekHghcxWzgEybtAY6LleLJh53LPB1D8YEh92s21p7U0a8rQnGq1LCRQ0y8JFaf9PbmLWJM7llUKhc0YiOIJsQDZxX8g6KYSAaLH z9Vj8Ag5Hw4BHi0uWL03tX3jImC3DfU2JnzMAuA EqGjO5eCkGvD5V2fVbpqscig2G2dmjg5E4I2Q7VDlEkBMxG7PJSM3O/l8LnS4a2vICFj2am2Zk1jsGFi66/6yBDQZDsZ SrCvkTRw0ZikxaRVwCmkF6cgBJn rsa-key-20220602

Затем создайте команду directory.ssh и подключитесь к серверу:

mkdir -p ~/.ssh

Добавьте открытый ключ:

Создание пары ключей

В облаке Timeweb Cloud у вас есть сервер. Используя SSH, вы должны настроить безопасное удаленное управление. Пароль неподходящий. Не только из-за отсутствия безопасности, но и потому, что вам лень каждый раз набирать длинную фразу.

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

Заключение

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

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

Похожее:  Работа с маркировкой без установки сертификата электронной подписи - БУХ.1С, сайт в помощь бухгалтеру

Добавить комментарий

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