У меня есть старый ноутбук, который я использую для изучения Ubuntu Server 12.10. До переформатирования и установки Ubuntu Server использовался Ubuntu Desktop.
В Ubuntu Desktop я использовал домен, размещенный на no-ip.com, для доступа к машине через ssh (без проблем). После переформатирования я пытаюсь использовать тот же no-ip. com для доступа к этому же компьютеру (тот же статический IP-адрес в домашней локальной сети), но теперь я получаю следующую ошибку:
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 ECDSA key sent by the remote host is
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX: (Omitted).
Please contact your system administrator.
Add correct host key in /home/guest/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/guest/.ssh/known_hosts:2
remove with: ssh-keygen -f "/home/guest/.ssh/known_hosts" -R username.no-ip.org
ECDSA host key for username.no-ip.org has changed and you have requested strict checking.
Host key verification failed.
По общему признанию, я не понимаю большую часть сообщения об ошибке. После некоторого поиска в Google я решил запустить следующую команду:
$ ssh-keygen -R {username.no-ip.org}
Что дает следующую ошибку:
ssh-keygen: /home/jerry/.ssh/known_hosts: No such file or directory
«Гость», как указано в сообщении об ошибке, тоже отсутствует:
jerry@mediaserver:/home$ tree -a
.
└── jerry
├── .bash_history
├── .bash_logout
├── .bashrc
├── .cache
│ └── motd.legal-displayed
├── .config
│ └── htop
│ └── htoprc
└── .profile
Что вызывает следующие вопросы: если этот файл даже не существует, где несоответствие, указанное в сообщении об ошибке? Может мне нужно создать этот файл?
Спасибо всем, кто хочет со мной поработать!
-Jerry
Я должен добавить, что я могу использовать ssh локально, используя локально назначенный IP-адрес.
Предупреждение означает, что идентификатор хоста изменился (со старой установки на новую). Это хорошо! Это работает, давая вам знать, что это изменилось ...
Войдите в систему как непривилегированный пользователь (не root) и создайте скрытый каталог, /home/jerry/.ssh:
cd; mkdir .ssh; chmod 0700 .ssh
В этот момент вы можете добавить хосты в файл known_hosts (/home/jerry/.ssh/known_hosts).
Или, если вы подключитесь как гость, сделайте то же, что и пользователь, гость, а не Джерри.
Обратите внимание, что если вы хотите, чтобы каталог .ssh был создан для всех новых пользователей, добавьте каталог .ssh в / etc / skel. Каталог / etc / skel содержит файлы и каталоги, которые должны иметь все новые пользователи.
sudo mkdir /etc/skel/.ssh; sudo chmod 0700 /etc/skel/.ssh
После этого у каждого нового пользователя будет каталог .ssh с правильными привилегиями (0700).