Как я могу использовать тот же ключ для SSH и SSL (https)

 -f      Requests ssh to go to background just before command execution.
         This is useful if ssh is going to ask for passwords or
         passphrases, but the user wants it in the background.  This
         implies -n.  The recommended way to start X11 programs at a
         remote site is with something like ssh -f host xterm.

         If the ExitOnForwardFailure configuration option is set to “yes”,
         then a client started with -f will wait for all remote port for‐
         wards to be successfully established before placing itself in the
         background.
12
задан 19 May 2014 в 16:47
3 ответа

TL; сводка DR: Если Вы имеете SSL/X.509 certificate+key, просто даете файл секретных ключей ssh. Или, если у Вас уже есть ключ SSH id_rsa, просто используйте его с OpenSSL при подписании CSR.Это все.


Давайте предположим, что у Вас есть сертификат SSL пользователя в joeuser.pem и его закрытый ключ в joeuser.key.

Так как X.509 использует стандартные ключи RSA, и также - SSH, необходимо смочь просто сказать клиенту SSH использовать joeuser.key - единственное требование - то, что это находится в понятном формате.

Посмотрите на внутренности joeuser.key и проверьте, походит ли это отчасти на это:

-----BEGIN RSA PRIVATE KEY-----
MGECAQACEQCxQaFwijLYlXTOlwqnSW9PAgMBAAECEETwgqpzhX0IVhUa0OK0tgkC
CQDXPo7HDY3axQIJANLRsrFxClMDAghaZp7GwU2T1QIIMlVMo57Ihz8CCFSoKo3F
2L/2
-----END RSA PRIVATE KEY-----

В OpenSSL этот формат называют "PEM" (как в -outform pem) и используется по умолчанию. Тот же формат используется OpenSSH, и можно использовать ssh -i joeuser.key соединяться.

Можно извлечь открытый ключ в OpenSSH id_rsa.pub формат (для помещения в authorized_keys) с:

ssh-keygen -y -f joeuser.key > joeuser-ssh.pub

(Тот же открытый ключ в формате PEM может быть извлечен с openssl rsa -pubout, но это будет мало полезно.)


Если у Вас есть ключ DSA, он должен работать точно то же как RSA.

11
ответ дан 2 December 2019 в 21:35
  • 1
    привет, спасибо, но я знаю, что могу преобразовать один формат ключа в другого для каждого разработчика, но моя проблема избегает как можно большего количества конфигурации с их стороны. Насколько я помню (я признаюсь во мне didn' t проверка недавно), добавление 509 сертификатов для всего клиентского браузера не тривиально. –   19 February 2010 в 02:07
  • 2
    nraynaud: Они разработчики . Если они не могут установить сертификат X.509 на своем любимом браузере (по крайней мере, следующим TFM), it' s уже страшный. –  grawity 19 February 2010 в 19:29
  • 3
    ... так или иначе. Для основанных на NSS браузеров (Firefox, Mozilla, Крещение) there' s ряд инструментов командной строки для изменения cert.db. Для Windows сертификаты могут быть установлены с помощью certutil или (я думаю) через AD групповую политику. SSH не требует никакой конфигурации вообще, всего ssh-keygen -y -f, и выведите оба файла к user' s homedir. –  grawity 19 February 2010 в 19:29
  • 4
    они не разработчики, они новички из школы и интерны. I' m просто кующий их с мерзавцем, безопасностью в Интернете, JavaScript, безопасностью и чистым кодом. Я просто хочу ограничить это отчасти не разработка центральный материал. (кроме того, я ненавижу людей, которые налагают меня этот вид глупых вещей, таким образом, я только, чтобы не налагать это на других), –   21 February 2010 в 02:32

OpenSSH имеет экспериментальную поддержку x509 сертификатов здесь:

http://roumenpetrov.info/openssh

Вы могли выпустить единственный x509 сертификат на пользователя и использовать их для обоих.

вместо того, чтобы поместить пользователя pubkey в их authorized_keys, можно указать позволенный DNS пользовательских сертификатов; и необходимо настроить веб-сервер/веб-приложение так, чтобы DN был переведен в имя пользователя.

5
ответ дан 2 December 2019 в 21:35
  • 1
    Большое спасибо, но установка еще хуже, что конфигурация я думаю. –   21 February 2010 в 02:33
  • 2
    Вы означаете устанавливать исправленную версию openssh? это может быть уже поставлено Вашим распределением (я знаю, что, по крайней мере, хинду делает). Нет никакого смысла в использовании того же ключа RSA для обоих приложений, но с другим форматом - все еще необходимо настроить ssh открытый ключ каждого пользователя вручную. OTOH, с x.509 ключами, Вы могли разделить свой CA, и добавление новых пользователей к SSH или HTTPS может быть сделано без ведома их открытого ключа, только необходимо выбрать последовательную политику DN... –  b0fh 21 February 2010 в 17:11

Вам в значительной степени не повезло - ключи SSH и сертификаты SSL являются различными животными и насколько я знаю, что они не являются взаимозаменяемыми.

Ваш лучший выбор состоит в том, чтобы, вероятно, настроить единую точку входа / совместно использованное хранилище пароля / безотносительно для Ваших веб-инструментов и оставить git/gitosis как остров аутентификации.

1
ответ дан 2 December 2019 в 21:35

Теги

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