Как я могу заставить SSH дать ключ RSA вместо ECDSA?

Это еще один ответ:

public static string GetPropertyName<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,
                                                                      Expression<Func<TModel, TProperty>> expression)
    {
        var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);

        return metaData.PropertyName;
    }
16
задан Ravexina 2 August 2017 в 10:19
поделиться

5 ответов

Не используйте RSA, так как ECDSA является новым значением по умолчанию.

На сервере делают это: ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub и запись то число.

На клиенте Вы можете SSH к хосту и если и когда Вы видите то же самое число, можно ответить на подсказку Are you sure you want to continue connecting (yes/no)? утвердительно. Затем ключ ECDSA будет зарегистрирован на клиенте для будущего использования.

6
ответ дан H2ONaCl 22 October 2019 в 15:07
поделиться

Путем удаления алгоритмов ECDSA из HostKeyAlgorithms переменная конфигурации.

ssh -o HostKeyAlgorithms=ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss user@server

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

можно, конечно, поместить это в Ваш .ssh/config для той машины:

Host: server
    HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss
14
ответ дан tumbleweed 22 October 2019 в 15:07
поделиться

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

Первый выбирают список алгоритмов. Для нахождения старого списка используйте ssh -vv:

ssh -vv somehost

И ищут эти 2 строки как "алгоритмы ключа хоста:...", где первое, кажется, предложение сервера, и 2-м является клиент. Или выбрать те 2 строки автоматически, попробуйте это (и выходить из хита ctrl+d):

ssh -vv somehost 2>&1 | grep "host key algorithms:"

Теперь отфильтровывают его... необходимо удалить все dss/dsa, так как они являются долго устаревшими, и Вы также хотели удалить ecdsa (также, как и I), так например, если Вы имели:

ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

необходимо закончить с:

ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

Теперь редактируют Вашу конфигурацию. Для Вашей собственной конфигурации:

vim ~/.ssh/config

Для конфигурации в масштабе всей системы:

sudo vim /etc/ssh/ssh_config

Добавляют новую строку, любой глобально:

HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

или для определенного хоста (не идеальный для сервера широкая конфигурация):

Host somehost
    HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

Вместо списка я вошел, вставьте список, который Вы получили из эти ssh -vv вывод, не incluing "алгоритмы ключа хоста": часть.

1
ответ дан Peter 22 October 2019 в 15:07
поделиться

Да, хорошо переключитесь на ECDSA скоро, но тем временем попробуйте это:

ssh -o HostKeyAlgorithms=ssh-rsa -o FingerprintHash=md5 user@example.com
5
ответ дан bonkydog 22 October 2019 в 15:07
поделиться

Я просто добавил эту строку

HostKeyAlgorithms ssh-rsa

к

/etc/ssh/sshd_conf

, и она хорошо работает в этой версии.

OpenSSH_7.7p2 ubuntu-4ubuntu2.2
2
ответ дан Oldskool 22 October 2019 в 15:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: