SSH & ldquo; Ошибка проверки ключа хоста & rdquo;

Я должен выложить файл на сервер со своего компьютера с ssh в качестве школьного задания.

Это был медленный процесс, но теперь я застрял. Я гуглил, но не нашел ничего, что помогло. Поскольку я абсолютный новичок в этом, это, вероятно, моя глупая ошибка, поэтому, пожалуйста, помогите мне (простые инструкции, ожидайте, что я сделаю это неправильно;)) . Ниже приведен текст терминала, откуда я застрял. Я попытался войти в систему на моем компьютере и войти в систему на сервере.

вошли на сервер:

teddy@rymd-srv:~$ ssh-keygen -R teddy@elev.rymdgymnasiet.com
/home/teddy/.ssh/known_hosts updated.
Original contents retained as /home/teddy/.ssh/known_hosts.old
teddy@rymd-srv:~$ scp -r teddy@85.226.40.57:/home/teddy/Pictures/filetransfer.jpeg 
teddy@elev.rymdgymnasiet.com:/home/teddy
teddy@85.226.40.57's password:
Host key verification failed.
lost connection

вошли в систему на моем собственном компьютере: [ 115]

teddy@TeddysDator:~$ ssh-keygen -R teddy@elev.rymdgymnasiet.com 
/home/teddy/.ssh/known_hosts updated.
Original contents retained as /home/teddy/.ssh/known_hosts.old
teddy@TeddysDator:~$ scp -r teddy@85.226.40.57:/home/teddy/Pictures/filetransfer.jpeg 
teddy@elev.rymdgymnasiet.com:/home/teddy
The authenticity of host '85.226.40.57 (85.226.40.57)' can't be established.
ECDSA key fingerprint is ef:9c:4c:41:3c:9d:b1:40:05:67:30:34:e8:d3:ab:c6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '85.226.40.57' (ECDSA) to the list of known hosts.
teddy@85.226.40.57's password:
Host key verification failed.
lost connection
4
задан 11 March 2012 в 21:20

3 ответа

Можно также попытаться выбрать другой алгоритм ключа хоста:

ssh -o HostKeyAlgorithms=ssh-dss -l teddy 85.226.40.57

Если Вы хотите сделать это на хост постоянным, Вы могли бы добавить оператор к своему ~/.ssh/config:

Host 85.226.40.57
    HostKeyAlgorithms ssh-dss

Это выше примера для ключей хоста DSA, используйте ssh-rsa для выбора ключей хоста RSA.

2
ответ дан 11 March 2012 в 21:20

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

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

ssh-keyscan ssh-server.example.com | tee -a ~/.ssh/known_hosts
0
ответ дан 11 March 2012 в 21:20

Это обычно указывает, что хост вводят Ваш known_hosts файл и что врученный Вам сервером не соответствуют.

Это может означать две вещи: то, что ключ сервера действительно изменялся (если они переустановили его, например), или что существует действительно "человек в среднем" продолжении нападения.

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

Обычно, что Вы, вот:

ssh-keygen -R server.name

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

Одна вещь попробовать, отключают ключ хоста, проверяющий в целом (не рекомендуемый, но если Вы делаете соединение от сервера до себя, я предполагаю, что это должно быть относительно безопасно):

ssh -o 'StrictHostKeyChecking=no' ssh-server.example.com

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

Считайте здесь для некоторой хорошей информации о хосте ssh ключевую проверку:

http://www.symantec.com/connect/articles/ssh-host-key-protection

8
ответ дан 11 March 2012 в 21:20