На что еще обратить внимание
Перевод “аутентификация не удалась” дает общее представление о причине неудачи. Проблема может заключаться не только в пароле или ключе. Алгоритмы шифрования и контроля доступа имеют решающее значение.
Windows
Для создания ключей в Windows можно использовать интерфейс командной строки PowerShell. Утилита ssh-keygen поддерживается последними версиями. Шаги те же, что и для Linux.
Более эффективной стратегией является использование пакета приложений PuTt. В него входит генератор PuTtGen.
- Запустите PuTTYgen и нажмите кнопку Generate.
- Переместите указатель мыши, чтобы сгенерировать случайные данные.
- Введите дополнительную ключевую фразу, с помощью которой будет зашифрован личный ключ.
Используя кнопки 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"
Это элементарно, но сама операция проста.
- Сначала мы извлечем содержимое файла – cat ~/.ssh/id_rsa.pub
- Затем подключимся к удаленному хосту – ssh username@server_address
- Затем создадим каталог и файл для хранения информации об открытом ключе.
В данном случае переадресующим символом является “.” Он добавляет содержимое файла, а не заменяет его. Если вы добавляете несколько ключей, это будет полезно.
Подключение с помощью putty
Вы можете установить соединение с помощью PuTTA, если вы использовали PuTTA для генерации ключей.
- Запустите программу PuTTY.
- На вкладке Сеанс введите имя хоста или IP.
- Оставьте порт по умолчанию на 22.
- Выберите тип соединения – SSH.
- Перейдите на вкладку Подключение – SSH – Auth.
- Нажмите кнопку Обзор и выберите ранее зарегистрированный закрытый ключ.
- Нажмите Открыть, чтобы установить соединение.
Вы можете получить доступ к серверу, если 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 по умолчанию разрешает удаленный доступ с паролем. Это оставляет систему открытой для атак со стороны тех, кто может узнать пароль путем догадок или другими способами.
Аутентификация на основе ключей рекомендуется для обеспечения наивысшего уровня защиты доступа к системе. Она основана на идее использования открытых и закрытых ключей для шифрования. Только клиенты, имеющие закрытый ключ на сервере, могут подключиться к серверу. Пароли и другие меры безопасности являются еще одним уровнем защиты.