Как мне управлять безопасным, личным ключом SSH?

14

Мне нужен персональный ключ ssh, такой что:

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

Я знаю, что есть много ресурсов, объясняющих, как использовать инструменты управления ключами ssh. Однако я нахожу их довольно сложными, и я не смог сохранить свой закрытый ключ при выполнении новых установок в прошлом. Поэтому я бы предпочел услышать некоторые лучшие практики от кого-то с опытом, делающим именно то, что я хочу делать.

Винсент Повирк
источник

Ответы:

9

Проходя через ваши очки:

  • Когда вы генерируете ключ SSH, он сохраняется ~/.ssh/как id_rsa(или id_dsa). Вы можете перемещать это от машины к машине, как вы хотите.

  • Вы можете обеспечить его шифрование путем шифрования /home/. Есть несколько наборов инструкций о том, как сделать это в Интернете, но (никогда не делая этого сам) я не могу честно предлагать одно за другим. Тот, что на UbuntuForums, кажется таким же хорошим, как и любой другой. Сделать это на новой установке проще (вы можете сделать это в установщике), но это не обязательно.

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

  • ssh-keygen -eсгенерирует ваш хэш открытого ключа из вашего личного ключа. Сделайте да, вам не нужно подтверждать это (хотя это тоже не сложно сделать - оно сохраняется как ~/.ssh/id_rsa.pub).

Оли
источник
Разве установка пароля не считается шифрованием ключа?
Винсент Повирк
@ Винсент вроде, конечно. Я не уверен, насколько параноиком ты пытаешься быть здесь. Если вы хотите минимизировать вероятность того, что кто-то еще получит ключ, вставьте его в зашифрованный раздел. Если вы довольны тем, что люди могут получить его (если они получают физический доступ), но не могут использовать его без ключевой фразы, вы можете пропустить этот шаг.
Оли