2010-03-29 09:43:00 +0000 2010-03-29 09:43:00 +0000
181
181

Как избежать проверки хостов SSH для известных хостов?

Я получаю следующее уведомление каждый раз, когда пытаюсь подключить сервер, используя SSH. Я набираю “да”, но есть ли способ это подтвердить?

The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)?

Ответы (8)

254
254
254
2010-03-29 10:53:30 +0000

Используйте опцию -o,

ssh -o "StrictHostKeyChecking no" user@host
```.
108
108
108
2013-08-06 21:56:17 +0000

Добавьте следующие строки в начало /etc/ssh/ssh_config

Host 192.168.0.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

Опции:

  • Подсеть Host может быть * для разрешения неограниченного доступа ко всем IP-адресам.
  • Редактируйте /etc/ssh/ssh_config для глобальной конфигурации или ~/.ssh/config для конфигурации, специфичной для пользователя.

Смотрите http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html .

28
28
28
2010-03-29 09:47:30 +0000

Вы должны получить это только при первом подключении к новому хосту. После ответа yes хост сохраняется в ~/.ssh/known_hosts, и при следующем подключении вам не будет выдан запрос.

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

11
11
11
2010-06-08 22:29:47 +0000

Лучший способ (потому что это не жертвует безопасностью) - подключиться один раз ко всем компьютерам с одного клиента (вам будет предложено каждый раз, всегда отвечайте “да”). Как указано в другом ответе, ключи будут сохранены в ~/.ssh/known_hosts. Затем скопируйте этот файл на каждый клиентский компьютер, с которого вы впоследствии захотите подключиться (возможно, для каждой учетной записи пользователя, которую вы используете). Затем все эти учетные записи “узнают” компьютеры, поэтому никаких подсказок.

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

1
1
1
2015-07-11 23:20:24 +0000

Если вы хотите отключить подтверждение, а не аутентификацию, вы можете воспользоваться опцией: “-o CheckHostIP=no”

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8
0
0
0
2015-12-12 18:09:32 +0000

Вероятно, это связано с тем, что ваш сервер ключей ssh изменился, так как ip-адрес или домен сервера совпадает, но не совпадает с ключом ssh.

Вы должны удалить сохраненный ключ в /home/$user/.ssh/known_hosts, чтобы избежать этого сообщения.

Я исправил его, удалив все ключи в этом файле, поэтому для этого доменного имени создается новый токен.

0
0
0
2020-01-27 07:10:41 +0000

Я столкнулся с подобной проблемой, когда, несмотря на использование вышеупомянутого проверенного решения, мой ssh не работал, и это было из-за того, что файл known_hosts отсутствовал в каталоге ~/.ssh/, а файловая система была только для чтения. SO во время выполнения также не смог создать файл ~/.ssh/known_hosts.

Если вы столкнулись с подобной проблемой, посмотрите, можно ли записать файл known_hosts в каталоге /tmp. В основном запись разрешена даже в файловой системе, доступной только для чтения.

Позже в команде ssh вы можете указать ssh для чтения файла known_hosts из каталога /tmp.

ssh -o UserKnownHostsFile=/tmp/known_hosts -o StrictHostKeyChecking=no user_name@destination_server_ip
-2
-2
-2
2018-11-09 12:14:07 +0000

Проверьте разрешения на ваш файл ~/.ssh/known_hosts. Мои были неправильными, когда я получил эту проблему. Я исправил ее:

chmod 0600 ~/.ssh/known_hosts

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

6
10
19
12
2