Я создал сервер и настроил SSH, чтобы не разрешать вход в систему root и отключать доступ по паролю, поэтому принимает только SSH-ключ для входа.
У меня есть машина A с ключом, и я могу получить доступ к моему серверу с этой машины без каких-либо проблем.
Также на всякий случай есть резервная копия этих ключей.
Допустим, моя машина A завтра умирает, а у меня есть новая машина B, и, конечно же, нужен доступ к моему серверу.
Здесь я не знаю, как все работает. Должен ли я просто скопировать ключи из моей резервной копии на машину B, и это позволит мне получить доступ к моему серверу? Или ключи должны быть импортированы с помощью какой-нибудь команды OpenSSH?
Итак, мои первые сомнения касаются импорта резервных копий, потому что я боюсь полностью потерять доступ к моему серверу.
Второе касается ключевой фразы, которую я установил для своего ключи на машине А. Это все еще действительно для моих скопированных ключей? Или через импорт мне нужно установить новую парольную фразу на новой машине.
Спасибо.
SSH-ключ состоит из двух частей:
Вы можете свободно перемещать обе части по своему усмотрению, хотя я бы не рекомендовал вам размещать частную часть публично (даже зашифрованной).
Частная часть - это размещен на любой из ваших локальных машин в каталоге ~ / .ssh /. Ожидаемые имена ключей:
Если ваш key имеет одно из соответствующих имен, и вам хорошо идти. Если вам нужно использовать какой-то конкретный ключ, вы должны использовать параметр -i
/usr/bin/ssh -i <path_to_key_file>
То же самое и для части общедоступного сервера. В домашнем каталоге пользователей должен существовать файл ~ / .ssh / authorized_keys. Этот файл содержит все ключи publc, которым разрешено входить в систему как пользователь - по одному в каждой строке. Часть комментария можно опустить.
При этом на любом сервере вы хотели бы использовать любой из ваших ключей SSH,скопируйте публичную часть на новую строку в файле authorized_keys.
Я бы посоветовал вам изучить справочную страницу SSHD (man sshd), особенно часть «AUTHORIZED_KEYS FILE FORMAT».
Также я думаю, что я также должен предупредить вас, что есть некоторые правила для разрешений файловой системы для домашний каталог, каталог ~ / .ssh и файл ~ / .ssh / authorized_keys, как указано на странице руководства sshd, короче говоря, он не может быть доступен для записи другими.
~ / .ssh / authorized_keys Перечисляет открытые ключи (DSA / ECDSA / RSA), которые можно использовать для входа в систему в качестве этого пользователя. Формат этого файла описан выше. Содержимое файла не очень важно, но рекомендуемые разрешения для чтения / записи для пользователя и недоступен для других. Если этот файл, каталог ~ / .ssh или домашний каталог пользователя доступны для записи другим пользователям, то этот файл может быть изменен. заменены или заменены неавторизованными пользователями. В этом случае sshd не позволит использовать его, если для параметра StrictModes не указано был установлен на «нет».
Копирование резервных копий ключей на место будет работать нормально. Никакой специальной команды импорта не требуется. Парольная фраза - это собственно ключевой файл (в частности, это вход для функции получения ключа для генерации ключа шифрования для данных закрытого ключа).
Просто скопируйте закрытый ключ (с машины A) на другую машину (B). и вы можете войти на сервер с помощью команды
ssh -i private_keyfile.key username@xxx.xxx.xxx.xxx
. Примечание: Предположим, вы уже скопировали открытый ключ из машины A в authorized_key на сервере.
Все, что вам нужно, это пара из двух ключей . Общественные и частные. Не стесняйтесь копировать его в другую среду (особенно частную, которая лежит только на гостевой машине) и попробуйте проверить. Для этой пары генерируется кодовая фраза, поэтому она нужна вам всегда.