Изменение версий OpenSSH и OpenSSL в Git Bash (msysgit) в Windows

Версии OpenSSH и OpenSSL в Git Bash действительно старые. На момент публикации при вводе ssh -V версии:

OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007

У меня вопрос, как нам их обновить (безопасно, ничего не сломав и т.д.)? В В этой статье есть решение, но оно только упоминает обновление OpenSSH, а не OpenSSL, хотя я уверен, что вы также можете найти файлы OpenSSL для передачи. Однако для этого требуется установка Cygwin, что может быть нежелательно. Существует способ загрузить модули Cygwin, но не устанавливать их, но это, похоже, не добавляет некоторые DLL, такие как cygcrypto.dll и cygwin1.dll.

Даже если это сработает, есть ли другой способ? Можете ли вы просто загрузить несколько файлов с openssh.com/openssl.org и изменить пару файлов конфигурации?


person trysis    schedule 01.01.2014    source источник
comment
Мой cygwin возвращается ssh -V: OpenSSH_6.4p1, OpenSSL 1.0.1e 11 февраля 2013 г.   -  person inselberg    schedule 02.01.2014
comment
Да, Cygwin, видимо, более современный. Мой вопрос был о Git Bash.   -  person trysis    schedule 02.01.2014
comment
Да, вы, вероятно, уязвимы для обратного Heartbleed и всего, что было исправлено за последние семь лет.   -  person Colonel Panic    schedule 21.12.2014
comment
Heartbleed появился недавно, поэтому Git Bash, скорее всего, не уязвим для него. Тем не менее, он уязвим для ошибки Bash, и вряд ли кто-то собирается приложить усилия, чтобы сделать для него эксплойт. Я не знаю об обратном Heartbleed.   -  person trysis    schedule 21.12.2014


Ответы (2)


ОБНОВЛЕНИЕ: это список файлов, который я использую в данный момент, чтобы заставить cygwin ssh работать с git bash.

Из каталога установки cygwin скопируйте приведенный ниже список файлов в каталог установки git bash.

Имейте в виду, если вы настроили ~/.ssh/config, вам необходимо установить правильные разрешения от cygwin для правильной работы ssh.

cygasn1-8.dll cygattr-1.dll cygbz2-1.dll cygcom_err-2.dll cygcrypt-0.dll cygcrypto-1.0.0.dll cygedit-0.dll cygform-10.dll cygformw-10.dll cyggcc_s-1 .dll cyggmp-10.dll cyggmp-3.dll cyggssapi-3.dll cygheimbase-1.dll cygheimntlm-0.dll cyghistory7.dll cyghx509-5.dll cygiconv-2.dll cygintl-8.dll cygkafs-0.dll cygkrb5-26.dll cyglsa.dll cyglsa64.dll cyglua-5.1.dll cyglzma-5.dll cygmagic-1.dll cygmenu-10.dll cygmenuw-10.dll cygmp-3.dll cygmpfr-4.dll cygncurses++-10. dll cygncurses++w-10.dll cygncurses-10.dll cygncursesw-10.dll cygpanel-10.dll cygpanelw-10.dll cygpcre-0.dll cygpcre-1.dll cygpopt-0.dll cygreadline7.dll cygroken-18 .dll cygsqlite3-0.dll cygssl-1.0.0.dll cygssp-0.dll cygstdc++-6.dll cygtic-10.dll cygticw-10.dll cygwin1.dll cygwind-0.dll cygwrap-0.dll cygz.dll ssh-add.exe ssh-agent.exe ssh-copy-id ssh-host-config ssh-keygen.exe ssh-keyscan.exe ssh-user-config ssh.exe sshfiles

person Rasmus Østergaard Kjær Voss    schedule 18.05.2014
comment
Спасибо! У меня нет ни терпения, ни энергии, чтобы протестировать это сейчас, но, насколько я помню, когда пытался сделать это в последний раз, Git Bash продолжал жаловаться на другие файлы, которых не существовало (в его репозитории; они существовали для Cygwin). Вот почему я задаю этот вопрос, потому что кажется, что вам нужно передать больше файлов, чем упомянуто в этом сообщении в блоге. - person trysis; 19.05.2014

Примечание: последний выпуск Git для Windows (Git 2.12.1, март 2017 г.) более поздняя версия OpenSSL.
В порте Windows теперь используется реализация OpenSSL подпрограмм SHA-1.

См. commit 2cfc70f (09 февраля 2017 г.) от Джефф Хостетлер (jeffhostetler).
(объединено Хунио C Хамано -- gitster -- в commit 033328a, 13 марта 2017 г.)

mingw: используйте подпрограммы OpenSSL SHA-1

Используйте подпрограммы OpenSSL SHA-1, а не встроенные подпрограммы block-sha1.
Это повышает производительность операций SHA1 на процессорах Intel.

OpenSSL 1.0.2 значительно улучшил производительность и поддерживает функции аппаратного ускорения Intel.

C:\tools\gits\latest\usr\bin>openssl version
OpenSSL 1.0.2k  26 Jan 2017

Видеть:

И да, OpenSSH тоже новее:

C:\tools\gits\latest\usr\bin>ssh -V
OpenSSH_7.3p1, OpenSSL 1.0.2k  26 Jan 2017
person VonC    schedule 25.03.2017
comment
Спасибо. К этому моменту я как бы смирился с тем, что у Git Bash нет последних версий этих двух, и когда я его использую (на работе для подключения к нашему серверу Linux, дома у меня есть Linux), я просто использую его. & двигаться дальше. Хотя хорошо, что они обновились. - person trysis; 26.03.2017
comment
@trysis К этому моменту я как бы смирился с тем, что у Git Bash нет последней версии этих двух: она действительно есть, начиная с Git 2.5+ (август 2015 г., когда Microsoft наняла сопровождающего: stackoverflow.com/a/40059664/6309). Последняя версия Git для Windows имеет очень последние версии. - person VonC; 26.03.2017
comment
О, я думаю, я не был очень в курсе. Совсем недавно специалист по обслуживанию Windows в моей компании обновил мой Git Bash впервые за год или два. - person trysis; 26.03.2017