Як створити резервну копію ssh-ключів?


34

Я планую зробити нову установку ubuntu 11.10 у своїй системі. До цього я встановив аутентифікацію на основі ключа ssh на цій машині. Чи можливо взяти резервну копію цих ssh-ключів, щоб я міг використовувати це в моїй новій установці. Або я знову повинен налаштувати аутентифікацію ssh на основі клавіатури? Якщо я можу зробити резервну копію, які файли мені потрібно скопіювати? Чи може хтось детально пояснити це PLS. Заздалегідь спасибі.


1
Ви говорите про сервер чи клієнтську машину?
enzotib

Я говорю про серверну машину.
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окремий розділ для ОС, тому що одна з відмінностей між версіями дистрибутивів або dist у тому, що формати конфігураційних файлів можуть змінюватись, тому речі можуть зламатися несподівано. Якщо ви хочете зберегти свою конфігурацію в ОС, я думаю, що ви повинні це зробити явно для конкретних програм.
kodlibetor

1
@Lekensteyn Насправді .pubфайл іноді використовується під час підключення до сервера. Якщо секретний ключ зашифрований, .pubфайл використовується для надсилання відкритого ключа на сервер. Якщо сервер відхиляє відкритий ключ, немає потреби сповіщати користувача про введення пароля. Тільки якщо сервер приймає відкритий ключ, секретний ключ буде розшифрований. І якщо у вас є багато ключів ssh-agentі ви хочете доручити ssh-клієнту, який з них використовувати, ви можете зробити це, попросивши його використовувати певний .pubфайл для аутентифікації.
kasperd

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 @ remote та використовує вхід в обох напрямках на основі ключів. Що станеться, якщо ви втратите будь-який із ключових файлів:

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

На відповіді на запитання не задавались ... :)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.