Каждый раз, когда я использую git для взаимодействия с пультом, например, когда вы тянете или толкаете, мне выдается следующее сообщение:
Предупреждение. Постоянно добавлено «...» (RSA) в список известных хостов.
Как я могу предотвратить отображение этого раздражающего сообщения? Это только раздражение - все работает правильно.
The authenticity of host '...' can't be established. RSA key fingerprint is .... Are you sure you want to continue connecting (yes/no)?
, или вы ее подавили? Если это так, каждый раз один и тот же отпечаток? Если это не так, это действительно страшно . Менее страшным вариантом будет то, что каким-то образом ему не удастся записать файл hosts, поэтому он пытается снова каждый раз. Посмотрите на~/.ssh/known_hosts
?~/.ssh/known_hosts
? (Это перечислено 5000 раз?) Существует~/.ssh/config
/ содержит что-нибудь (особенно значение дляStrictHostKeyChecking
)?known_hosts
файла плохое. Это должен быть ключ хоста на одной ужасно длинной линии. Если у вас есть только имя хоста (например), оно не будет работать. Я рекомендую удалить этот файл (если он действительно содержит информацию только для этого хоста) и разрешить SSH создавать его при следующем подключении. После этого должно быть тихо.Ответы:
Решение: создайте
~/.ssh/config
файл и вставьте строку:Затем вы увидите сообщение при следующем доступе к Github, но после этого вы больше его не увидите, потому что хост добавлен в
known_hosts
файл. Это устраняет проблему, а не просто скрывает сообщение журнала.Эта проблема беспокоила меня довольно долго. Проблема возникает из-за того, что клиент OpenSSH, скомпилированный для Windows, не проверяет файл known_hosts в
~/.ssh/known_hosts
ssh -vvvvvvvvvvvvvvvvvvv git@github.com
источник
~/.ssh/id_rsa
) ключ для подключения к серверу. Как упомянул @JeremiahGowdy, у меня естьdebug3: load_hostkeys: loading entries for host "172.16.3.101" from file "/dev/null"
. Почему SSH начинает использовать/dev/null
как known_hosts после того, как я изменил ключ?~
в~/.ssh/config
это домашняя папка пользователя. Чтобы открыть его, нажмите Win-R , введитеcmd
Enter . Командная строка должна уже открыться в вашей домашней папке. Введитеcd .ssh
Enter , а затемstart .
Enter, чтобы открыть папку в проводнике Windows. Затем вы можете создать файл конфигурации в блокноте (без расширения .txt при сохранении). (Профессиональные пользователи могут напрямую переходить к новому файлу в самой командной строке;)
). Дважды запустите команду git, включающую remote (вродеgit fetch
), и все готово.Добавьте следующую строку в ваш конфигурационный файл ssh ($ HOME / .ssh / config):
Если ssh запускается из командной строки, добавьте следующую опцию в командную строку:
Например, следующее распечатывает версию gcc, установленную на machine.example.org (и без предупреждения):
источник
LogLevel=quiet
это плохая идея, он хочет, чтобы все ошибки отображались, он просто хочет избежать этой конкретной неприятной ошибки. Возможно, потому что он обманул ssh для использования/dev/null
в качествеknown_hosts
файла, возможно потому, что он хотел отключитьknown_hosts
проверку отпечатков пальцев, но не смог, потому что повелители ssh не позволили ему.loglevel=error
прежнему отображает «Соединение с <сервером> закрыто», когда соединение разорвано, что также очень раздражает для сценариев.Установите
LogLevel
вERROR
(неQUIET
) в~/.ssh/config
файле , чтобы не видеть эти ошибки:источник
Это сообщение от SSH, которое предупреждает вас о том, что вы подключаетесь к хосту, к которому ранее никогда не подключались. Я бы не рекомендовал отключать его, поскольку это может означать, что вы можете пропустить предупреждение об изменении ключа хоста, что может указывать на атаку MITM в вашем сеансе SSH.
источник
~/.ssh/known_hosts
и посмотрите, есть ли там ваш хост.ssh-keyscan
,Для подавления предупреждающих сообщений
ssh
вы можете добавить следующие строки~/.ssh/config
:Это отключит предупреждения, но не сообщения об ошибках. Как и другие настройки,
~/.ssh/config
вы можете настроить ихLogLevel
отдельно для каждого хоста, если вы хотите более детализированный элемент управления.источник
В основном это означает, что есть изменения для ключа для этого хоста
~/.ssh/known_hosts
, и он не будет автоматически ОБНОВЛЯТЬ его. Поэтому каждый раз, когда вы получаете это предупреждение.Это часто случается при подключении к воссозданным виртуальным машинам, который меняет ключ с тем же IP-адресом
Решение
Если у вас есть только одна запись, вы можете удалить
~/.ssh/known_hosts
файл, и после первого подключения, что ключ будет там, и никаких предупреждений после этого.Если у вас есть несколько записей, вы можете использовать команду ниже, чтобы удалить
Он отлично работает для меня
источник
Если вы используете репозиторий из GitHub, рассмотрите вариант использования URL-адреса HTTPS , чтобы полностью обойти эту проблему:
Если вы клонируете свой репозиторий из приложения Windows GitHub, это то, что он использует для удаленного URL. Может быть, они знают что-то, чего мы не знаем.
источник
У меня тот же вопрос, и я обнаружил, что нет
.ssh
файла в моем~
. Поэтому я просто создаю.ssh
каталог под~
путем, и проблема решена.источник
Я попал в ту же проблему, когда начал использовать машину с Windows. В моем случае это было потому, что моя настройка SSH не была сделана. Github имеет очень точную документацию по настройке SSH. Как только это позаботилось, проблема была решена.
https://help.github.com/articles/checking-for-existing-ssh-keys/ https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it- к-SSH-агент /
источник
Добавить ключ SSH
файл конфигурации ящика
добавить строку ниже.
Затем добавьте ключ публикации и клонируйте свой репозиторий ... Готово .....
источник
Я столкнулся с той же ошибкой в виртуальной машине Linux / Cent OS, и это произошло потому, что IP-адрес менялся после перезапуска. Чтобы обойти эту проблему, я определил статический IP-адрес в сети и добавил эту запись в файл / etc / hosts. Для статического IP упомяните немного более высокое значение диапазона. Например, если ваш текущий IP (ipconfig / ifconfig) равен 192.168.0.102, в следующий раз после перезапуска это может стать 192.168.0.103. Поэтому определите свой статический IP-адрес в настройках IPV4 как 192.168.0.181, что должно сработать.
источник
В моем случае это произошло потому, что администратор, настроивший сервер, установил эти параметры в
~/.ssh/config
Который работал нормально для большинства случаев, не используя
~/.ssh/known_hosts
файл. Но для корпоративного репозитория gitlab каждый раз он давал «Предупреждение: постоянно добавлен ... в список известных хостов».Моим решением было закомментировать
UserKnownHostsFile /dev/null
строку, которая позволила создание~/.ssh/known_hosts
. Тогда он не дал больше предупреждений после этого.Вы также можете иметь старые / недействительные записи в вашем
known_hosts
.источник
добавьте свой закрытый ключ в ssh-agent с помощью:
источник
Я забираю свое решение из-за продолжающихся падений голосов.
Это было лучшее решение без фактического взлома исходного кода самого клиента SSH.
Если кому-то интересно, проверьте историю редактирования.
источник