У меня есть один компьютер под управлением OS X, XP и ubuntu. Хотя иногда он запускает несколько таких ОС на виртуальной машине или в реальных установках. У меня есть пара серверов, на которых мне нужно постоянно подключаться по SSH, но иногда я меняю хосты или стираю серверы.
Во всяком случае, я устал настраивать новые пары ключей SSH каждый раз, когда использую новую ОС или сервер. Вся информация на этих серверах находится на моем компьютере, поэтому, если кто-то обнаружит меня здесь, пропустит всех сторожевых собак и украдет мой компьютер, им не нужно будет взламывать мои серверы, поскольку ни одна из операционных систем я не использую. с использованием шифрования файлов (даже не знаю, как его включить).
Как я могу синхронизировать свою пару ключей со всеми ОС, которые я использую на этом ПК? В Windows я использую Putty / Pageant, в то время как Snow Leopard и Linux имеют собственный SSH. Так что форматы файлов не совсем то же самое.
Я генерирую все свои ключи в Linux, используя ssh-keygen -t dsa и он отлично работает с Putty / Pageant и SSH под Cygwin в Windows. Вам не нужно иметь отдельные пары ключей для каждого сервера. Вы просто копируете свой открытый ключ на каждый сервер, на который хотите войти. Вы говорите, что форматы файлов не совпадают, но по моему опыту они совпадают, но отличаются имена файлов и пути. Если вам действительно нужно много копировать ключи, я бы создал отдельный сценарий bash для каждой ОС, чтобы автоматизировать распространение открытого ключа.
Чтобы ваш закрытый ключ был в безопасности, даже если кто-то «украл ваш компьютер», вам необходимо зашифровать его паролем. Если вам не нравится постоянно вводить пароль, используйте такую утилиту, как связка ключей, поэтому вам нужно расшифровать свой закрытый ключ только один раз за сеанс. Это работает как sudo ...
Попробуйте выполнить это руководство:
Поможет ли команда "ssh-copy-id"?
По сути, вы спрашиваете: «Как мне синхронизировать файлы в нескольких ОС?»
Маленький: Возможно, Dropbox с небольшим (специфичным для ОС) сценарием оболочки (для автоматической установки ключей ssh). Выбор здесь более многочисленный, чем цвета навесов для велосипедов.
Средний: Сервер git, на котором хранятся ваши ключи, был бы хорошим способом пойти и даже позволить вам иметь историю всех ваших ключей.
Большой: Puppet, конечно, был бы даже лучше (но только если вы хотите его использовать и не будете поддерживать окна (напрямую)).
Создайте репозиторий VCS где-нибудь (git / svn / something), который, по вашему мнению, безопасен. Зарегистрируйте свои ключи, а затем оформляйте заказ везде, где вам это нужно. Добавьте сценарий входа в систему для автоматического обновления / регистрации изменений.