Использование ключей SSH из резервной копии на другом компьютере для доступа к серверу

Я создал сервер и настроил SSH, чтобы он не разрешал вход в систему с правами root и запрещал доступ по паролю, поэтому для входа в систему принимается только ключ SSH.

У меня есть машина A с ключом, и я могу без проблем получить доступ к своему серверу с этой машины.

Также есть резервная копия этих ключей, на всякий случай.

Допустим, завтра умирает моя машина A, и я получил новую машину B, и, конечно, мне нужен доступ к моему серверу.

Здесь я не знаю, как все работает. Должен ли я просто скопировать ключи из моей резервной копии на компьютер B, и это позволит мне получить доступ к моему серверу? Или ключи должны быть импортированы с помощью какой-либо команды OpenSSH?

Поэтому мое первое сомнение касается импорта резервных копий, потому что я боюсь полностью потерять доступ к своему серверу.

Второй - о парольной фразе, которую я установил для своих ключей на машине А. Это все еще верно для моих скопированных ключей? Или через импорт мне нужно установить новую фразу-пароль на новой машине.

Благодарю.

4 ответа

Решение

Ключ SSH состоит из двух частей:

  • закрытый ключ, который должен быть защищен надежным паролем
  • открытый ключ (обычно заканчивающийся суффиксом.pub), который следует скопировать на сервер

Вы можете свободно перемещать обе части по своему желанию, хотя я бы не советовал размещать закрытую часть публично (даже в зашифрованном виде).

Приватная часть находится на любом из ваших локальных компьютеров в каталоге ~/.ssh/. Ожидаемые имена ключей

  • id_rsa
  • id_rsa-CERT
  • id_dsa
  • id_dsa-CERT
  • id_ecdsa
  • id_ecdsa-CERT
  • id_ed25519
  • id_ed25519-CERT

Если ваш ключ имеет одно из соответствующих имен, вы можете пойти. Если вам нужно использовать какой-то определенный ключ, вы должны использовать параметр -i

/usr/bin/ssh -i <path_to_key_file>

То же самое относится и к общедоступной серверной части. В домашнем каталоге пользователя должен существовать файл ~/.ssh/authorized_keys. Этот файл содержит все публичные ключи, которым разрешено входить в систему как пользователь - по одному на строку. Часть комментария может быть опущена.

Тем не менее, на любом сервере, который вы хотели бы использовать с любым из ваших ключей SSH, скопируйте открытую часть в новую строку в файле authorized_keys.

Я бы посоветовал вам изучить страницу руководства по SSHD (man sshd), особенно часть "AUTHORIZED_KEYS FILE FORMAT".

Также я думаю, что я также должен предупредить вас о том, что существуют некоторые правила для разрешений файловой системы для домашнего каталога, каталога ~ /.ssh и файла ~/.ssh/ authorized_keys, как указано на странице руководства sshd, короче говоря, он не может быть доступен для записи. другими.

 ~/.ssh/authorized_keys
         Lists the public keys (DSA/ECDSA/RSA) that can be used for logging in as this user.  The format of this file is described
         above.  The content of the file is not highly sensitive, but the recommended permissions are read/write for the user, and
         not accessible by others.
         If this file, the ~/.ssh directory, or the user's home directory are writable by other users, then the file could be modi‐
         fied or replaced by unauthorized users.  In this case, sshd will not allow it to be used unless the StrictModes option has
         been set to “no”.

Копирование зарезервированных ключей на место будет работать нормально. Никакой специальной команды импорта не требуется. Фраза-пароль - это, по сути, файл ключа (в частности, это ввод в функцию вывода ключа для генерации ключа шифрования для данных личного ключа).

Просто скопируйте закрытый ключ (с компьютера A) на другой компьютер (B). и вы можете войти на сервер с командой

ssh -i private_keyfile.key username@xxx.xxx.xxx.xxx 

Примечание. Предполагается, что вы уже скопировали открытый ключ с компьютера A в Author_key на сервере.

Все, что вам нужно, это пара из двух ключей. Государственный и частный. Не стесняйтесь копировать его в другую среду (особенно частную, которая лежит только на гостевой машине) и попробуйте проверить. К этой паре сгенерирована фраза-пароль, поэтому она нужна вам всегда.

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