SSH: Как справиться с отсутствием: /home/USER/.ssh/known_hosts [закрыто]

У меня есть старый ноутбук, который я использую для изучения 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-адрес.

6
задан 22 December 2012 в 00:17

1 ответ

Предупреждение означает, что идентификатор хоста изменился (со старой установки на новую). Это хорошо! Это работает, давая вам знать, что это изменилось ...

Войдите в систему как непривилегированный пользователь (не 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).

0
ответ дан 22 December 2012 в 00:17

Другие вопросы по тегам:

Похожие вопросы: