@Wylaroren

Где на Windows имеет смысл хранить приватные SSH-ключи?

Насколько мне известно, по умолчанию ключи хранятся в `C:\Users\XXXX\.ssh`. Если по каким-то техническим причинам ключи нужно хранить именно в этой директории, значит объяснение этой причины будет зачётным ответом на этот вопрос.

Если же такой причины нет, то в рамках моих текущих знаний ход мыслей такой:

1. Системный диск более уязвим по сравнению с второстепенным (ну или является приоритетной целью злоумышленников - должна же быть какая-то причина, по которой сохранять резервную копию системы на системный диск смысла не имеет).
2. Добирать до папки .ssh не очень удобно, да и смысл её имени неочевиден.

Ввиду этой логики, я думаю что можно на диске `D` (или другом несистемном) создать папку `SSH Private Keys` (или даже по-русски - `Приватные ключи SSH`) и хранить их там. Единственное, при наличии нескольких пользователей необходимо ограничить доступ к этой папке.

Не является ли угрозой безопасности данная методология?
  • Вопрос задан
  • 489 просмотров
Решения вопроса 1

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

Это стандартная директория, с которой работает openssh.
И вроде нет никаких способов её переназначить.
Аналогично и в других ОС.


2. Добирать до папки .ssh не очень удобно, да и смысл её имени неочевиден.

~/.ssh - это не очевидно?
В ней хранится всё что относится к ssh конкретного пользователя: ключи и доверенные хосты


1. Системный диск более уязвим по сравнению с второстепенным (ну или является приоритетной целью злоумышленников - должна же быть какая-то причина, по которой сохранять резервную копию системы на системный диск смысла не имеет).

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

2. Добирать до папки .ssh не очень удобно, да и смысл её имени неочевиден.

Вкусовщина и непонимание используемых инструментов.
Добираться до неё нужно полтора раза в жизни, чтобы написать
cat ~/.ssh/id_rsa.pub
Ввиду этой логики, я думаю что можно на диске `D` (или другом несистемном) создать папку `SSH Private Keys` (или даже по-русски - `Приватные ключи SSH`) и хранить их там. Единственное, при наличии нескольких пользователей необходимо ограничить доступ к этой папке.

Почему бы тогда программы устанавливать не в "C:\Program files", а в "D:\Все программы"?
Вот мне неочевидной кажется идея хранить публичные ключи в папке "D:\Приватные ключи SSH" тем более на русском языке.

Если боитесь, что при выходе диска из строя, вы потеряете ключи, то да - вы их потеряете.
Можете сделать резервные копии на несколько внешних носителей.
Хотя не вижу в этом большой проблемы - всегда можно сгенерить новые и прописать заново на серверах.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
karabanov
@karabanov
Системный администратор
Храни приватный ключ, где хочешь, в любом безопасном по твоему мнению месте, только не выноси его за пределы машины на которой он был сгенерирован и никому не показывай.
Только при подключении надо будет указывать путь до приватного ключа, но ssh-agent помогает решить эту задачу.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега SSH
software engineer
1. Системный диск более уязвим по сравнению с второстепенным (ну или является приоритетной целью злоумышленников - должна же быть какая-то причина, по которой сохранять резервную копию системы на системный диск смысла не имеет).

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

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

Ну извини, как бы ежу понятно что бэкап СИСТЕМЫ (с системного диска) лучше хранить на ДРУГОМ диске, а не на нем же. Причина как бы элементарна - не хранить все яйца в одной корзине.

2. Добирать до папки .ssh не очень удобно, да и смысл её имени неочевиден.

Абсолютно очевиден - домашний каталог пользователя, конфигурационная директория по соглашению *nix и openssl

Единственный другой вариант - если ты используешь отдельный диск с шифрованием, тогда ключи можно хранить на нем. А так - домашний каталог/.ssh отлично. И бэкапы делать не забывай
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы