Что мне делать после генерации ключей SSH?

У меня есть 2 машины с Linux: мой NAS дома и сервер вне сайта.

Назовите мой NAS как "NAS", а офсетный сервер "SRV".

Мне нужно иметь возможность безопасно копировать файлы из SRV в NAS без необходимости ввода пароля. SRV запускает Ubuntu 14.04, поэтому я могу запустить ssh-keygen, NAS работает под управлением другой разновидности Linux (я не могу понять, что. cat /etc/*-release а также lsb-release -a оба не работают). NAS имеет ssh-keygen но нет ssh-copy-id и я не хочу устанавливать какое-либо дополнительное программное обеспечение на NAS, поскольку у других были проблемы с этим.

Здесь путаница. я бегу ssh-keygen и 2 файла генерируются на машине. Я не совсем уверен, что это за файлы и какой из них я должен распространять. Другое дело, какую машину я на самом деле запускаю ssh-keygen на? Логика подсказывает, что если я хочу войти в NAS с SRV, я должен запустить команду на SRV, но какое чтение я сделал, предполагает, что это может быть наоборот?

Вот что я сделал до сих пор:

Я вошел в NAS с пользователем, которого я хочу SSH как. Я бегал ssh-keygen и скопировал файл id_rsa.pub в ~/.ssh/authorized_keys на СРВ. Затем я попытался SSH из SRV в NAS, но он попросил пароль. Затем я попытался SSH из SRV в NAS, указав файл идентификации с помощью ssh user@NAS -i ~/.ssh/authorized_keys/id_rsa.pub но все равно попросил пароль.

Не уверен, что я делаю не так. Кажется, это должен быть очень простой процесс, поэтому я, очевидно, что-то делаю неправильно или использовал неправильные параметры SSH.

2 ответа

Вы на правильном пути, у вас это просто задом наперед.

Когда вы делаете ssh-keygen вы создаете публичную и приватную пару ключей. Закрытый ключ никогда не должен покидать устройство, на котором он создан, а открытый ключ должен распространяться на любой сервер, на который вы хотите войти, используя ключи.

Итак ssh-keygen должен быть запущен на SRV и id_rsa.pub созданный файл должен быть скопирован в ~/.ssh/authorized_keys на NAS в домашнем каталоге пользователя, в который вы входите как.

Если этот файл создан недавно (или в любом случае), убедитесь, что его разрешения ограничены только владельцем:

 chmod 600 ~/.ssh/authorized_keys

То, что я прочитал, ты все сделал правильно. Если это не работает, попробуйте очистить known_hosts Затем создайте новый ключ SSH и добавьте его в authorized_keys, Это должно решить вашу проблему.

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