Как удалить некорректный ключ в git, когда вы пытаетесь отправить изменения?


40

Я провел множество поисков и протестировал различные решения, но не добился успеха!

Когда я хочу нажать мои коды, я получаю следующую ошибку:

Warning: the ECDSA host key for 'git.mywebsite.ir' differs from the key for the IP address '164.138.23.11'
Offending key for IP in /home/alireza/.ssh/known_hosts:10
Matching host key in /home/alireza/.ssh/known_hosts:1
Are you sure you want to continue connecting (yes/no)? yes

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

список ключей

Ответы:


83

Это говорит:

Оскорбляющий ключ для IP в /home/alireza/.ssh/known_hosts: 10

Поэтому по какой-то причине вы должны удалить 10-ую строку в known_hosts.

Запустите эту команду для удаления 10-й строки в known_hosts:

sed -i '10d' ~/.ssh/known_hosts

Или использовать ssh-keygen

ssh-keygen -R git.mywebsite.ir

Цитата из человека

 -R hostname
         Removes all keys belonging to hostname from a known_hosts file.
         This option is useful to delete hashed hosts (see the -H option
         above).

6
ssh-keygen -R git.mywebsite.irрешил мою проблему.
ALH

не работает для меня, он продолжает задавать вопросы.
Варуна Ранасингхе

2
sed -i '1d' ~ / .ssh / known_hosts или удаление строки вручную. работал на меня
Сумит Кумар Саха

Если вы запускаете это в терминале на Mac, вам нужно будет выполнить sed -i '' '10d' ~ / .ssh / known_hosts, чтобы избежать ошибки "дополнительные символы в конце команды l", поскольку для этого требуется расширение уточняется.
Люк

если вы хотите , чтобы удалить ключ , основанный на IP - адрес: ssh-keygen -R [ipaddress]:port. Пример удаления ключа для 192.168.0.1 на порту 3456:ssh-keygen -R [192.168.0.1]:3456
Оки Эри Ринальди

0

Вы должны отредактировать свой файл known_hosts (расположенный в ~ / .ssh / known_hosts) и удалить запись, связанную с этим адресом.


Этот IP-адрес не существует в файле known_hosts.
ALH

1
Правильно, есть запись с URL-адресом git.mywebsite.ir и другим IP-адресом. Вы должны удалить эту строку из known_hosts, и тогда новый IP-адрес будет связан с этим именем хоста.
Кулак

Там нет ничего, как URL моего сайта в файле known_hosts. Я даже не могу найти мерзавца в файле. Не могли бы вы взглянуть на картинку выше?
ALH

0

Когда я получил сообщения:

Оскорбляющий ключ для IP в /home/myusername/.ssh/known_hosts: 12

Обратите внимание на номер строки - в моем случае - 12

Итак, откройте файл known_hosts и удалите 12-ю строку.

Для меня это решило проблему.

Ps Обратите внимание, что если вы не можете найти папку .ssh - папка .ssh скрыта, а для того, чтобы просмотреть ее из файлового менеджера - вам необходимо «Показать скрытые файлы и папки». В Linux Mint (и, возможно, в вашем дистрибутиве), когда в файловом менеджере есть ярлык для отображения / скрытия скрытых папок -> Ctrl + H

ура

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.