Как мне сделать резервную копию ключей ssh?


34

Я планирую сделать новую установку Ubuntu 11.10 в моей системе. Перед этим я установил ssh-аутентификацию на основе ключей на этом компьютере. Можно ли сделать резервную копию этих ключей SSH, чтобы я мог использовать это в моей новой установке. Или же я должен снова установить ssh-аутентификацию на основе ключей? Если я могу сделать резервную копию, какие файлы мне нужно скопировать? Может кто-нибудь объяснить это подробно, пожалуйста. Заранее спасибо.


1
Вы говорите о сервере или клиентской машине?
— энзотиб

Я говорю о серверной машине.
— karthick87

Ответы:


39

Отвечая только на SSH ... да, вы можете сохранить свои ключи.

Хотя я не могу придумать ни одной темы, по которой можно об этом рассказать. Это просто: если ваше имя пользователя karthick, то ключи находятся в скрытом каталоге здесь:

/home/karthick/.ssh

или

~/.ssh

id_rsa.pubФайл содержит открытый ключ , используемый для проверки подлинности. Но есть и другие файлы , чтобы держать - все они, на самом деле , такие , как known_hosts , например . В ВАЖНЕЙШЕМ есть id_rsa(обратите внимание на отсутствие .pub) , как это ваш личный ключ. Резервное копирование каждого пользователя. Например, если вы настроили SSH для root, получите /root/.sshтакже. И так далее для столько счетов, сколько у вас есть по этой причине.


1
поэтому всегда полезно иметь в другом разделе каталог / home; на тот случай, если вы захотите выполнить новую установку, вы не захотите потерять что-либо из вашей собственной конфигурации.
— maniat1k

5
Этот ответ вводит в заблуждение. SSH использует пару секретный / открытый ключ. Закрытый ключ находится в id_rsa. Это наиболее важный ключ для резервного копирования.
— января

1
Вы можете восстановить открытый ключ (id_rsa.pub) из закрытого ключа (id_rsa), но не наоборот. .pubФайл содержит одну строку , которую можно поставить в серверах ~/.ssh/authorized_keysи не используется вообще при подключении к серверу.
— Лекенштейн

1
@ maniat1k Я, как правило, не согласен с тем, что у вас должен быть /homeотдельный раздел для ОС, потому что одно из различий между дистрибутивами или дистрибутивными версиями заключается в том, что форматы конфигурационных файлов могут изменяться, поэтому вещи могут сломаться неожиданным образом. Если вы хотите сохранить свою конфигурацию в разных ОС, я думаю, что вы должны явно сделать это для определенных программ.
— quodlibetor

1
@Lekensteyn На самом деле .pubфайл иногда используется при подключении к серверу. Если секретный ключ зашифрован, .pubфайл используется для отправки открытого ключа на сервер. Если сервер отклоняет открытый ключ, нет необходимости запрашивать пароль у пользователя. Только если сервер принимает открытый ключ, секретный ключ будет расшифрован. И если у вас много ключей в ssh-agentи вы хотите указать клиенту ssh, какой из них использовать, вы можете сделать это, попросив его использовать определенный .pubфайл для аутентификации.
— Касперд

33

Криптографические ключи, которые вы можете сделать резервную копию.

  • ~/.gnupg/*
  • ~/.pki/nssdb/*
  • ~/.gnome2/keyrings/*
  • ~/.ssh/*
  • /usr/local/apache2/conf/ssl.crt/server.crt
  • /usr/local/apache2/conf/ssl.key/server.key
  • /etc/ssh/*
  • /etc/ssl/private/*
  • /etc/cups/ssl/*

3
Вы пропустили ту самую, о которой он спрашивал ( ~/.ssh), но, тем не менее, хороший список :)
— Цезий

Вы также пропустили/etc/ssh
— января

Отличный список! Гуглить такой список сложнее, чем должно быть. Спасибо за предоставленную информацию.
— Кристиан

8

У каждого пользователя есть директория ~ / .ssh, которая обычно содержит следующие файлы:

1) id_dsa             private key of this user (different filename for rsa keys)
1) id_dsa.pub         public key of this user
2) authorized_keys    public key of other users (or same user on other machines)
   config             personal configuration
   known_hosts        host keys of other machines

Кроме того, в / etc / ssh / вы найдете:

3) ssh_host_dsa_key
3) ssh_host_dsa_key.pub
3) ssh_host_rsa_key
3) ssh_host_rsa_key.pub

Это ключи хоста, ключи, идентифицирующие этот компьютер.

Вы, безусловно, хотите сделать резервную копию всех закрытых и открытых ключей. Мы называем рассматриваемый аппарат home, а пользователь user @ home. Один и тот же человек имеет учетную запись user @ remote и использует регистрацию на основе ключа в обоих направлениях. Что произойдет, если вы потеряете любой из ключевых файлов:

  1. Вы теряете личность пользователя @ home. ssh user@remoteиз дома больше не будет работать с ключом на основе аутентификации.
  2. Пользователь @ remote теряет право входа в систему со своим ключом. ssh user@homeбольше не будет работать удаленно с аутентификацией на основе ключей.
  3. Вы теряете личность хозяина. Пользователь @ remote увидит предупреждение о том, что ключи хоста изменились при попытке ssh user@home. В зависимости от конфигурации это не позволит ему войти в систему.

Чтобы ответы на вопросы не задавались ... :)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.