Что мне делать после генерации ключей 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
, Это должно решить вашу проблему.