Почему не удается получить curl ключ хоста SSH (ключ: <нет>)

Я уже некоторое время использую curl (с помощью git-ftp) и передаю только имя пользователя и sftp URL. * Подключено к host.example.com ({IP}) порт 22 (# 0) * Отпечаток SSH MD5: {Fingerprint} * Проверка хоста SSH: 2, ключ: <нет> * Закрытие соединения 0

Почему curl не может получить ключ?

Соединения с ssh -v работают и дают мне 2 ключа хоста, также curl --insecure будет работать.

1
задан 13 June 2016 в 17:50
2 ответа

libssh2 не поддерживает некоторые более поздние ключи, такие как ecdsa-sha2-nistp256 и ssh-ed25519 .

Итак, если у вас уже есть один из этих ключей в вашем .ssh / known_hosts , libssh2 завершится ошибкой. Но вы можете добавить еще один ключ, который поддерживает libssh2, например RSA:

Чтобы исправить это, получите открытый ключ RSA с удаленного хоста и добавьте его в свой файл known_hosts :

ssh-keyscan hostname .example.com >> ~ / .ssh / known_hosts

Точный формат и расположение файла могут отличаться в зависимости от системы.

3
ответ дан 3 December 2019 в 18:34

Я решил проблему, заменив адрес ipv6 на домен в файле known_hosts .

Он уже существовал в файле с именем known_hosts2 в том же каталоге, но я предполагаю, что этот файл на самом деле не читается ssh / curl.

0
ответ дан 3 December 2019 в 18:34

Теги

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