Як видалити ображений ключ у 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-й рядок у відомих_хостях.

Виконайте цю команду, щоб видалити 10-й рядок у відомих_хостях:

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

не працювало для мене, він продовжує задавати питання.
Waruna Ranasinghe

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
Oki Erie Rinaldi

0

Вам потрібно відредагувати відомий файл_hosts (розташований у ~ / .ssh / known_hosts) та видалити запис, пов’язаний з цією адресою.


Ця IP-адреса не існує у файлі знаних_хостів.
ALH

1
Правильно, ймовірно, є запис із URL-адресою git.mywebsite.ir та іншою IP-адресою. Ви повинні видалити цей рядок із відомих_хостів, і тоді нова IP-адреса буде пов’язана з цим іменем хоста.
kulak

У файлі знаних_хостів немає нічого, як URL-адреса мого сайту. Я навіть не можу знайти git у файлі. Не могли б ви поглянути на малюнок вище?
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.