71

Что означает это сообщение? Это потенциальная проблема? Канал не защищен?

Или это просто сообщение по умолчанию, которое всегда отображается при подключении к новому серверу?

Я привык видеть это сообщение при использовании SSH в прошлом: я всегда вводил свой логин с паролем обычным способом, и я чувствовал себя хорошо, потому что я не использовал закрытые / открытые ключи (что гораздо более безопасно чем короткий пароль). Но на этот раз я установил открытый ключ с ssh для подключения к bitbucket, но я все еще получил сообщение. Мне известно, что запрос пароля в конце является другой дополнительной мерой безопасности для расшифровки закрытого ключа.

Я надеюсь, что кто-то может дать хорошее объяснение того, что подразумевается под этим сообщением «подлинность не может быть установлена».

The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established.

RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,207.223.240.181' (RSA) to the list of
known hosts.
Enter passphrase for key '/c/Users/Steven/.ssh/id_rsa':

7 ответов7

66

Он говорит вам, что вы никогда не подключались к этому серверу раньше. Если вы ожидали этого, это совершенно нормально. Если вы параноик, проверьте контрольную сумму / отпечаток пальца ключа, используя альтернативный канал. (Но учтите, что тот, кто может перенаправить ваше ssh-соединение, также может перенаправить сеанс веб-браузера.)

Если вы ранее подключались к этому серверу после этой установки ssh, то либо сервер был перенастроен с новым ключом, либо кто-то подделывает идентификационные данные сервера. Из-за серьезности атаки «человек посередине» она предупреждает вас о возможности.

В любом случае, у вас есть безопасный зашифрованный канал для кого-то. Никто без закрытого ключа, соответствующего отпечатку пальца 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 сможет декодировать то, что вы отправляете.

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

17

Допустим, вы встретили кого-то, чтобы обменяться секретами бизнеса. Ваш консультант говорит вам, что вы никогда не встречали этого человека раньше, и что он может быть самозванцем. Более того, на следующих встречах с ним ваш советник больше не будет вас предупреждать. Вот что означает сообщение. Этот человек является удаленным сервером, а ваш консультант - клиентом ssh.

Я не думаю, что параноидально перепроверять личность человека, прежде чем делиться с ней секретами. Например, вы можете открыть веб-страницу с ее изображением и сравнить ее с лицом перед вами. Или проверьте ее удостоверение личности.

Для сервера bitbucket вы могли бы использовать другой, более надежный компьютер и получить от него изображение его лица , а затем сравнить его с тем, который вы получаете на компьютере, который вы сейчас используете. Использование:

 ssh-keyscan -t rsa bitbucket.org | ssh-keygen -lv -f -

Если лица совпадают, вы можете добавить ключ к файлу, например ~/.ssh/known_hosts (стандартное расположение во многих дистрибутивах Linux) с помощью:

ssh-keyscan -t rsa -H bitbucket.org >> ~/.ssh/known_hosts

и клиент ssh не предупредит вас, так как он уже знает ее лицо. Он будет сравнивать лица каждый раз, когда вы подключаетесь. Это очень важно. В случае самозванца (например, атака «человек посередине») клиент ssh отклонит соединение, потому что лицо будет изменено.

5

Мне просто нужно было создать текстовый файл known_hosts в ~/.ssh

sudo vim ~/.ssh/known_hosts
sudo chmod 777 ~/.ssh/known_hosts

После этого он добавил хост, и я больше никогда не видел сообщения.

1

Есть еще один простой способ: просто дотроньтесь до файла "config" в /root/.ssh и добавьте параметр StrictHostKeyChecking no. В следующий раз, когда вы войдете на сервер, ключ rsa будет добавлен к known_hosts и не будет спрашивать "да". для подтверждения подлинности

1

Это сообщение просто SSH, сообщающее вам, что он никогда не видел этот конкретный ключ хоста, поэтому он не может по-настоящему проверить, что вы подключаетесь к хосту, который вы считаете своим. Когда вы говорите "Да", он помещает ключ ssh в ваш файл known_hosts, а затем при последующих подключениях сравнивает ключ, который он получает от хоста, с ключом в файле known_hosts.

Была опубликована соответствующая статья о переполнении стека, показывающая, как отключить это предупреждение, https://stackoverflow.com/questions/3663895/ssh-the-authenticity-of-host-hostname-cant-be-established.

0

Помимо ответов, которые уже даны (ранее вы никогда не подключались к этому хосту), существует также явная вероятность того, что вы никогда ранее не подключались к текущему хосту (к этому хосту); это только психологически отличается; вы думаете, что подключаетесь с хоста A (к B), в то время как на самом деле вы пытаетесь подключиться с хоста X (к B). Это может произойти, например, когда вы сначала отправляете ssh-ed из A в X, а затем из того же терминала пытаетесь выполнить ssh в B, думая, что вы все еще на A.

0

В моем случае пароль без логина не работал из-за разрешений моего домашнего каталога, потому что я изменил настройки по умолчанию. Наконец, вот что сработало для меня. мой домашний каталог разрешений

/ Главная / имя пользователя

drwxr----x. 18 username     groupname  4096 May 11 11:52 username

/home/username/.ssh

268823097 drwx------   2 username groupname     29 May 11 11:53 .ssh

/home/username/.ssh/authorized_keys

-rw-r----- 1 username groupname 402 May 11 11:53 authorized_keys

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .