Новость из категории: Информация

Проблемы с подключением SSH при помощи ключей

Проблемы с подключением SSH при помощи ключей

Пытаетесь подключиться к удаленному серверу по SSH с помощью ключей, а не паролей, но при каждой попытке подключения получаю следующее сообщение:
Проблемы с подключением SSH при помощи ключей

Почему так происходит и как решить возникшую проблему? Об этом я расскажу в своей сегодняшней статье.

Проблемы с подключением SSH при помощи ключей

Очень часто пользователи заодно с обычными обновлениями своей системы, обновляют и OpenSSH. В OpenSSH 7.0 изменился способ работы с некоторыми устаревающими и более слабыми криптографическими протоколами. Они всё еще поддерживаются OpenSSH, но по умолчанию отключены. В Вашем случае Вы пытаетесь подключиться к серверу, который поддерживает только алгоритм ssh-dss (DSA) с открытым ключом, а его разработчики OpenSSH считают слабым.

Решение состоит в том, чтобы снова включить алгоритм ssh-dss и, поскольку алгоритм слабый, делать это только для таких сайтов, которым это абсолютно необходимо. Если у Вас уже есть запись хоста для этого сайта в файлах /eto/ssh/ssh_oonfig или ~/.ssh/config, припишите к ней следующую директиву:
HostkeyAlgorithms +ssh-dss

Если ни в одном из этих файлов записи хоста нет, добавьте ее следующим образом:
Host 82.917.814.129    
HostkeyAlgorithms +ssh-dss

Если для подключения обычно используется имя хоста, а не IP-адрес, это имя следует поместить в строку Host. Если в файле есть раздел, начинающийся с Host *, надо поместить свою запись выше него. Это связано с тем, что SSH использует первую подвернувшуюся подходящую запись, и если раздел Host * встретится раньше Вашего, то Ваши изменения никакой роли не сыграют. Если это одноразовое подключение и Вы не хотите добавлять хост к своему конфигурационному файлу, можно также включить ключевой алгоритм с командной строки для од но го вызова SSH:
ssh -oHostKeyAlgorithms=+ssh-dss user@hostname

+ перед именем алгоритма означает, что он добавляется к списку доступных алгоритмов. (Если плюс не указать, то весь список заменится на указанный Вами алгоритм.) Это очень важно, потому что когда на сайте окажется доступным более надежный метод, OpenSSH автоматически применит его без какого-либо участия с Вашей стороны. Не указав +, Вы будете прикованы к более слабому методу навсегда. Существуют похожие ограничения на алгоритмы обмена ключами, которые обрабатываются аналогичным образом при посредства параметра KexAlgorithms.

Терминалы и суперпользователи

Проблемы с подключением SSH при помощи ключей

Мы часто предлагаем в качестве решения проблемы ввести те или иные команды в терминале. Хотя обычно то же самое можно сделать с помощью графических утилит дистрибутива, такие решения будут слишком конкретными (будут зависеть от дистрибутива). Команды в терминале более гибкие и — самое главное — ими можно пользоваться во всех дистрибутивах. Команды настройки системы часто нужно выполнять от имени суперпользователя, называемого также root. Существует два основных способа это делать, в зависимости от используемого дистрибутива. Во многих дистрибутивах, особенно в Ubuntu и его производных, перед командой можно написать sudo — при этом будет запрошен пароль пользователя, и ему будут предоставлены привилегии root только на время выполнения команды. В других дистрибутивах применяется команда su, для использования которой требуется ввести пароль root и которая предоставляет полный доступ root до того момента, пока вы не наберете logout. Если в вашем дистрибутиве используется su, запустите ее один раз и выполняйте любые заданные команды без предшествующей sudo.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх