Я настроил свой сервер Linux на прием соединений от домашнего компьютера, добавив в authorized_keys
файл открытый ключ, сгенерированный PuTTYgen .
Сейчас я пытаюсь подключиться к той же машине, но на этот раз с другой машины с Ubuntu. Мне нужно использовать один и тот же закрытый ключ (по странной причине, не спрашивайте ...), и я не совсем понимаю, как установить его на свой клиентский Ubuntu.
Должен ли я преобразовать его в другой формат?
id_rsa
файл (путем преобразования ключа в PuTTYgen)По стечению обстоятельств, я просто должен был сделать это. Вам нужно конвертировать ключи в формат OpenSSH. Команда для этого:
затем вы можете скопировать содержимое
openssh_key
in так.ssh/authorized_keys
же, как с помощью обычного ключа SSH.-i
Вариантом является тот , который говорит ,ssh-keygen
чтобы сделать преобразование.-f
Вариант говорит ему , где найти ключ к обращенным.Это работает для незашифрованных ключей. Открытый ключ не зашифрован, но частный ключ, вероятно, зашифрован. Я не уверен, есть ли способ расшифровать закрытый ключ, преобразовать его, а затем снова его зашифровать. Вполне возможно, будет проще использовать новые ключи, как подсказывает другой ответ (и я бы рекомендовал использовать это,
ssh-agent
хотя это ортогонально текущей проблеме).источник
uudecode failed
), нужно следовать Как преобразовать пары ключей SSH, сгенерированные с помощью PuttyGen (Windows), в пары ключей, используемые ssh-agent и KeyChain (Linux)puttygen_key
должен быть вашим открытым ключом, а не закрытым ключом (* .ppk).Эндрю Стейси объяснил, как преобразовать ключи в формат OpenSSH в Linux.
Если вы хотите сделать то же самое в Windows, выполните следующие действия:
источник
Как повторно использовать пары ключей Putty в Ubuntu в качестве ключей OpenSSH:
Поскольку целью шага 4 является добавление вашего открытого ключа в * ~. / Ssh / authorized_keys *, чтобы вы могли использовать свой секретный ключ Putty, как этот, вместо того, чтобы делать 4 в качестве промежуточного шага:
источник
mykey-pub.ppk
довольно сложно, поскольку.ppk
файл имеет совершенно другой формат и используется для пар ключей (а не только для открытого ключа).puttygen: unknown output type `private‐openssh'
иputtygen: cannot handle more than one input file
поэтому я скопировал точные символы из исходного кода и переименовал мой открытый ключ к чему - то совершенно другоеPuTTY / PuTTYgen использует свой собственный формат пары ключей. Это не будет работать в Linux, где преобладает формат ключей OpenSSH.
В PuTTYgen вы можете непосредственно просматривать (и копировать + вставлять) открытый ключ в формате, используемом
authorized_keys
файлом OpenSSH .Вы можете использовать кнопку Сохранить открытый ключ, чтобы сохранить открытый ключ в
.pub
формате (RFC 4716). В Linux этот файл обычно называетсяid_rsa.pub
(илиid_dsa.pub
). Но это обычно не нужно.Используйте Преобразования> Экспортировать ключ OpenSSH, чтобы экспортировать закрытый ключ в формате OpenSSH. В Linux файл обычно называется
id_rsa
(илиid_dsa
) и хранится в.ssh
папке.См. Официальный раздел Использование PuTTYgen, генератора ключей PuTTY .
Вы также можете использовать Linux-версию PuTTYgen для преобразования. Версия для Linux является командной строкой, в отличие от версии для Windows.
Смотрите
puttygen
страницу руководства Linux .источник
Я нашел еще одно ясное решение.
На
puttygen
создание ключа, затем перейдите к меню - Преобразование и нажмите на экспорт ключа OpenSSHСодержимое файла начинается и заканчивается
для пользователя root Скопируйте этот файл ключа
/root/.ssh/
какid_rsa
илиid_dsa
для другого пользователя Скопируйте этот ключевой файл
/home/user/.ssh/
какid_rsa
илиid_dsa
Примечание :
authorized_keys
.источник
* * Будьте осторожны и убедитесь, что у вас есть консольный доступ к коробке, потому что, если вы не сделаете это правильно, вы не сможете снова войти в ssh, пока не исправите это с консоли.
Процесс намного проще, чем вы думаете. Снова загрузите пару открытого / закрытого ключа, которую вы сгенерировали в puttygen. В puttygen вы увидите окно в центре экрана, которое гласит: «Открытый ключ для вставки в файл Open SSH authorized_keys:».
выделите все содержимое поля и нажмите control-c, чтобы скопировать его.
SSH в ваш linux-бокс и вставьте его в файл "/home/username/.ssh/authorized_keys". Я предпочитаю использовать nano и просто щелкните правой кнопкой мыши, чтобы вставить его. Убедитесь, что все это стоит на одной строке.
При необходимости измените файл / etc / sshd_config и перезапустите службу sshd: «service ssh restart»
Если вам нужен пример файла sshd_config, дайте мне знать, и я могу опубликовать свой.
Я сделал это на сервере Ubuntu 8.04, 10.04 и 12.04 LTS, и он работает гладко.
источник
Я не уверен, что этот поток все еще активен, но я наткнулся на похожую проблему с юбилейным выпуском Windows 10, который теперь поддерживает ядро Ubuntu. Я использую Putty раньше для подключения к Linux-машине. Для генерации id_rsa в формате linux используйте puttykeygen и загрузите свой закрытый ключ putty, затем нажмите на преобразование и выберите второй вариант.
Замазка KeyGenerator Conevrsions
откройте вновь созданный ключевой файл и скопируйте все его содержимое, убедитесь, что ваш контент начинается с: ----- BEGIN RSA PRIVATE KEY ----- и заканчивается ----- END RSA PRIVATE KEY -----
vi id_rsa в вашем каталоге ~ / .ssh и вставьте скопированное содержимое, это необходимо, потому что в противном случае linux не поймет содержимое файла.
Вот и все, попробуйте SSH на удаленном сервере, он должен работать.
источник