Назад | Перейти на главную страницу

Почему openssl и ssh в Git для Windows сообщают о разных версиях OpenSSL?

В Windows Server 2008 у меня установлен Git для Windows (Git-1.9.4-preview20140929).

Внутри оболочки bash openssl version версия отчетов 0.9.8zb, но ssh -V отчеты Open SSL 1.0.1i.

Итак, какая версия точно отражает версию OpenSSL, которая будет использоваться коннектором SSL в JBoss (через TorqueBox), запущенном на этом сервере?

Почему эти два инструмента, поставляемые в одной и той же версии Git для Windows, не имеют соответствующих версий OpenSSL?

У меня устаревшая (1.8.X) установка Git для Windows1 так что это может быть не актуально, но из того, что я вижу в своей установке, ssh.exe (который является сборкой OpenSSH) зависит от msys-crypto-X.Y.Z.dll пока openssl.exe зависит от этой библиотеки и msys-ssl-X.Y.Z.dll с этими X.Y.Z совпадение деталей (в моем случае "0.9.8"). Эти библиотеки находятся в том же каталоге, что и рассматриваемые исполняемые файлы: {gitInstallDir}/bin.

AFAIK, при сборке GfW пакет сборки извлекает и создает ровно одну копию OpenSSL, поэтому оба изменения openssl.exe и ssh.exe ожидается, что они будут использовать тот же набор библиотек, что и OpenSSL. Следовательно, я чувствую какое-то %PATH% проблема приоритета.

Что бы я проверил:

  1. Бегать

    type -a openssl
    

    и

    type -a ssh
    

    в командной строке Git Bash и посмотрите, возвращают ли они что-то, начинающееся с префикса «/ bin /», в качестве первой (или единственной) записи соответствующих выходных данных. Если вы видите что-то другое, например "/ c / something / other / path / openssl", у вас есть еще один экземпляр openssl.exe программа, доступная ранее, чем копия Git для Windows, благодаря вашему %PATH%; то же самое относится к ssh.exe.

    Если да, исправьте содержимое %PATH%.

  2. Получите копию depends.exe и запустить это против ssh.exe и openssl.exe из вашей установки GfW, чтобы узнать, на какие библиотеки они ссылаются и где они расположены. Это может дать вам подсказку, где искать, если что-то не так.


1 Это не «msysGit», а «Git для Windows»: «msysGit» - очень старое название проекта, которое довольно давно используется для обозначения среда разработки для Git для Windows, а последний термин используется для обозначения конечного продукта: порта Git для Windows и двоичного установщика, который вы использовали для установки GfW. Пожалуйста, придерживайтесь этой терминологии, чтобы не увеличивать путаницу.