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

34

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

karthick87
источник
1
Вы говорите о сервере или клиентской машине?
энзотиб
Я говорю о серверной машине.
karthick87

Ответы:

39

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

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

/home/karthick/.ssh

или

~/.ssh

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

d -_- б
источник
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. В зависимости от конфигурации это не позволит ему войти в систему.
январь
источник
Чтобы ответы на вопросы не задавались ... :)