Я пытаюсь настроить репозиторий git на существующем сервере Windows 2008 (R2). Я успешно установил Cygwin и добавил в пакеты git и ssh, и все работает отлично (спасибо Марку за его статья об этом).
Я могу использовать ssh на localhost на сервере и могу выполнять операции git локально на сервере. Однако, когда я пытаюсь сделать что-либо из клиента, я получаю ошибку «порт 22, неверный номер файла». Подробный вывод SSH ограничивается следующим:
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Connecting to {myserver} [{myserver}] port 22.
debug1: connect to address {myserver} port 22: Attempt to connect timed out without establishing
a connection
ssh: connect to host {myserver} port 22: Bad file number
Google говорит мне, что это означает, что меня обычно блокирует брандмауэр. Итак, дважды проверил настройки брандмауэра на сервере, есть ли правило, разрешающее трафик порта 22. Я даже попытался ненадолго отключить брандмауэр, никаких изменений в поведении. Я могу нормально передавать ssh с этого клиента на другие серверы. Хостинговая компания клянется, что никакие другие брандмауэры не блокируют этот сервер через порт 22 (или любой другой порт, как они утверждают, но мне трудно в это поверить). У меня есть еще одна проблема, на случай, если первый человек из службы поддержки был полон ею, но тем временем я хотел посмотреть, может ли кто-нибудь придумать что-нибудь еще, что это может быть.
Спасибо, Пол
Брандмауэр Windows в 2008 имеет три разных профиля: частный, общедоступный и домен. Не уверен, что ваш сервер находится в домене, но я бы добавил исключение - если вы еще этого не сделали - для частного, доменного и общедоступного профилей в брандмауэре.
Хорошо, ну, оказывается, первый человек, с которым я разговаривал в хостинговой компании, был неправ. Фактически проблема заключалась в том, что они по умолчанию блокируют порт 22 для той части своей сети, в которой есть серверы Windows. Я подал заявку на исключение из этой политики.
Павел