Я переустановил свой сервер и получаю следующие сообщения:
[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Please contact your system administrator.
Add correct host key in /home/hostname /.ssh/known_hosts to get rid of this message.
Offending RSA key in /var/lib/sss/pubconf/known_hosts:4
RSA host key for pong has changed and you have requested strict checking.
Host key verification failed.
Я пробовал различные решения, которые я нашел в Интернете. Мой known_hosts
файл (обычно в ~/.ssh/known_hosts
) находится в /var/lib/sss/pubconf/known_hosts
. Я пытался редактировать его, но он остается в одном состоянии. Я установил ipa-клиент и установил Fedora 19. Как мне разрешить это предупреждение?
Все ответы до сих пор работают, только если у вас не установлен Freeipa.
Правильный ответ для freeipa в комментариях ниже от Адрина находится здесь .
ssh
verification
ipa
man-in-the-middle
Филипп Добровольный
источник
источник
Ответы:
Вот самое простое решение
Например,
С
ssh-keygen
man-страницы :-R hostname
Удаляет все ключи, принадлежащие имени хоста, из файла known_hosts. Эта опция полезна для удаления хэшированных хостов (см. Опцию -H выше).источник
ssh-keygen -R [127.0.0.1]:3022
. Просто проверьте ваш файл .ssh / known_hosts на то, что он явно говорит.использование
Пример с IP-адресом / именем хоста:
Это обновит оскорбления вашего хоста от known_hosts. Вы также можете указать путь к известному_хосту с флагом -f.
источник
$ ssh-keygen -R {server.name.com}
|$ ssh-keygen -R {ssh.server.ip.address}
|$ ssh-keygen -R server.example.com
У меня была такая же ошибка после воссоздания образа Digital Ocean Ubuntu. Я использовал следующую команду с IP моего сервера вместо
[IP_ADDRESS]
источник
Когда вы переустанавливаете сервер, его личность меняется, и вы начинаете получать это сообщение. Ssh не может знать, изменили ли вы сервер, к которому он подключается, или сервер в середине был добавлен в вашу сеть, чтобы прослушивать все ваши сообщения - поэтому он обращает на это ваше внимание.
Просто удалите ключ из known_hosts, удалив соответствующую запись:
На
4d
счетуOffending RSA ...known_hosts:4
источник
sed -i -e 4d /var/lib/sss/pubconf/known_hosts
identification
тот случай, если вы хотите восстановить сервер, не вызывая сбоев, подобных этому сообщению об ошибке?Кувалдой нужно убрать всех известных хозяев одним махом:
Я сталкиваюсь с этим, поскольку мы используем небольшие подсети недолговечных серверов из коробки перехода и часто используем внутренние IP-адреса для повторного использования серверов, которые используют один и тот же ключ ssh.
источник
known_hosts
предназначена для предотвращения). Делайте это только в том случае, если вы уверены, что все хосты в безопасности.Проблема заключается в том, что ранее вы приняли SSH-соединение с удаленным компьютером, а цифровой отпечаток этого удаленного компьютера или хэш-ключ SHA256 изменились с момента вашего последнего подключения. Таким образом, когда вы снова пытаетесь использовать SSH или используете github для извлечения кода, который также использует SSH, вы получаете сообщение об ошибке. Почему? Потому что вы используете тот же адрес удаленного компьютера, что и раньше, но удаленный компьютер отвечает другим отпечатком. Поэтому возможно, что кто-то подделывает компьютер, к которому вы ранее подключались. Это проблема безопасности.
Если вы на 100% уверены, что удаленный компьютер не взломан, не взломан, не подделан и т. Д., Все, что вам нужно сделать, - это удалить запись в файле known_hosts для удаленного компьютера. Это решит проблему, так как больше не будет несоответствия с идентификаторами отпечатков пальцев SHA256 при подключении.
На Mac вот что я сделал:
1) Найдите строку вывода, которая гласит:
RSA host key for servername:port has changed and you have requested strict checking.
Вам понадобится и имя сервера, и, возможно, порт из этого вывода журнала.2) Создайте резервную копию файла известных хостов SSH
cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak
3) Найдите строку, где хранится старый отпечаток компьютера, и удалите его. На шаге 1 вы можете выполнить поиск конкретного оскорбительного отпечатка пальца удаленного компьютера, используя имя сервера и порт.
nano /Users/yourmacusername/.ssh/known_hosts
4) CTRL-X, чтобы выйти и выбрать Y, чтобы сохранить изменения
Теперь введите,
ssh -p port servername
и вы получите исходное приглашение, которое вы делали при первой попытке SSH к этому компьютеру. Затем вам будет предоставлена возможность сохранить обновленный отпечаток SHA256 этого удаленного компьютера в ваш файл known_hosts. Если вы используете SSH через порт 22, то аргумент -p необязателен.Любые проблемы, которые вы можете восстановить оригинальный файл known_hosts:
cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts
источник
ssh-keygen -R [IP_ADDRESS]
не работает для меня. Спасибо!Как уже говорили многие, используют
ssh-keygen
, т.е.Также вы можете временно отключить проверку ключа хоста:
источник
Host ???? CheckHostIP no StrictHostKeyChecking no
(3 строки, табулированные, начиная со 2-го)Работает для меня!
Это означает, что у вас есть неправильный ключ RSA в строке №. 4
Решение 1 :
Решение 2:
ИЛИ
Решение 3:
Это удалит
4th
строку/root/.ssh/known_hosts
на месте (-i
).источник
Я использовал решение mockinterface, хотя sed -i не совсем работал, я решил его, удалив строку вручную с помощью vim:
Вы можете использовать любой другой текстовый редактор, который вам нужен, но, вероятно, вам нужно будет показать свои административные права
источник
Для пользователей Mac вы можете использовать
-R
флагssh-keygen
команды. Быстрый пример:THE_IP_ADDRESS
Будучи IP, вы пытаетесь ssh в. И тогда вы можете подключиться нормально.источник
Это потому, что настройки вашего удаленного компьютера изменились. Удалите свои текущие ключи для этого.
vim /root/.ssh/known_hosts
Удалите строку IP-адреса, который вы подключаете.
источник
Отредактируйте
/home/hostname /.ssh/known_hosts
и удалите 4 строки и сохраните их.Затем запустите
ssh root@pong
снова, вы увидите сообщение, как это:,Are you sure you want to continue connecting (yes/no)? yes
просто распечататьyes
.источник
Другие ответы здесь хороши и работают, во всяком случае, я решил проблему, удалив
~/.ssh/known_hosts
. Это, конечно, решает проблему, но, вероятно, это не лучший подход.источник
В моем случае это произошло из-за того, что у меня ранее было ssh-соединение с машиной с тем же ip (скажем, 192.152.51.10), и система рассматривала ключ RSA (хранящийся в /home/user_name/.ssh/known_hosts) предыдущего хоста, что привело к в несоответствии.
Чтобы решить эту проблему, вы должны удалить ранее сохраненный ключ RSA для IP 192.152.51.10 .
источник
Простое однострочное решение, протестированное на Mac:
Удаляет только целевой IP-адрес хоста ssh из известных хостов.
где 212.156.48.110 заменяется IP-адресом целевого хоста.
Причина . Произошло потому, что целевой IP-адрес уже был известен другой машине из-за переадресации портов. Удаление целевого IP перед подключением решит проблему.
источник
Используйте эту команду:
источник
Удалите эту запись из known_hosts, используя:
Это удалит проблемный IP-адрес или имя хоста из файла known_hosts и попытается подключиться снова.
Из справочных страниц:
источник
Просто делать:
cd /home/user/.ssh/
-> здесьuser
будет ваше имя пользователя, т.е./home/jon/
например.затем
gedit known_hosts &
и удалите содержимое внутри него.Теперь
ssh
снова, это должно работать.источник
Если вы пытаетесь подключиться к работающему Docker-контейнеру через порт 2222 с помощью команды, и вы получаете сообщение об ошибке
Затем, чтобы решить эту проблему, на вашем локальном компьютере (т.е. на хост-машине, а не на контейнере) перейдите
cd ~/.ssh/
и откройтеknown_hosts
файл в текстовом редакторе. Удалите строку, начинающуюся с,[localhost]:2222
и сохраните файл. Теперь попробуйте снова SSHОшибка исчезнет, но вы должны будете делать это каждый раз при перезапуске контейнера.
источник
Мое решение:
vi ~/.ssh/known_hosts
Это лучше, чем удалить все
known_hosts
источник
Проблема только на стороне клиента (дубликат ключа для ip):
Решить варианты:
Для очистки одного IP (порт по умолчанию 22):
Для одного ip ( не порта по умолчанию ):
Быстро очистить все ips:
7.7.7.7 - ssh ваш сервер ip connect
333 - нестандартный порт
источник
Иногда, если по какой-либо причине вам необходимо переустановить сервер, при подключении по ssh мы обнаружим, что ваш сервер сообщает, что идентификация изменилась. Если мы знаем, что это не атака , а то, что мы восстановили систему, мы можем удалить старую идентификацию из known_hosts, используя ssh-keygen:
При повторном подключении мы попросим вас подтвердить новый отпечаток:
источник
У меня была эта проблема, и причина очень проста, у меня есть дублированный IP-адрес для входа в ssh, поэтому после изменения этой проблемы все решается.
источник
У меня была такая же ошибка на моей машине, и я очищаю
known_hosts
файл, и после этого он работает нормально.источник
authorized_keys
когда у вас есть проблема сknown_hosts
файломРЕШЕНИЕ:
1 - удалите из "$ HOME / .ssh / known_hosts" строку, ссылающуюся на хост, к которому невозможно подключиться.
2- выполните эту команду: ssh-keygen -R "IP_ADDRESSorHOSTNAME" (замените "IP_ADDRESSorHOSTNAME" на ваш IP-адрес назначения или имя хоста назначения)
3. Повторите попытку подключения ssh (если оно не установлено, проверьте разрешение на каталог .ssh, оно должно быть 700).
источник
Мое решение на UBUNTU (Linux):
1.Вы должны удалить содержимое из файла "known_hosts", который находится в "/home/YOUR_USERNAME/.ssh/known_hosts"
2.Создайте новый ключ ssh, например «ssh-keygen -t rsa -C» your.email@example.com «-b 4096»
3. Скопируйте и вставьте новый ssh-ключ в ваш git-репозиторий (в моем случае это gitlab) SSH-ключей.
Меня устраивает !
источник
AWS EC2.
Найдите IP-адрес в сообщении, которое он вам дает.
запустить
Используйте клавиши со стрелками, чтобы найти IP из сообщения и нажмите.
Это удалит эту строку, затем запустит escape
Это спасет, тогда вы готовы.
источник