2013-08-28 2 views
2

Я пытаюсь разместить свою собственную настройку Git на экземпляре AWS Windows Server.Хостинг Git-хранилища на сервере AWS Windows

Вот мои настройки:

  • OpenSSH установлен с помощью Cygwin
    • Это работает. Я успешно SSHed в мой сервер
  • Git Daemon установлен с помощью Cygwin
    • Это похоже на работу. Я успешно создал и клонировал сделки РЕПО локально с помощью Git Баша
  • правила Исходящего брандмауэра, позволяющего TCP на порты 22 и 9418
  • правила
  • Входящего брандмауэра позволяет TCP портов 22 и 9418
    • Я не уверен, это необходимо.

Насколько я могу судить, это все, что нужно, за исключением того, что я не могу клонировать репозиторий.

Я использую эту команду удаленно:

git clone ssh://[email protected]/git/myRepo

И я получаю этот выход:

Clone into 'myRepo' 
fatal: Could not read from the remote repository 

Please make sure you have the correct access rights 
and the repository exists. 

Однако, точно такая же команда отлично работает, когда я запускаю его на myServer-х через Git bash ..., что заставляет меня думать, что это проблема межсетевого экрана. Однако я не могу найти, какой порт нужен.

Дополнительные детали:

  • Мой репо была инициализирована с помощью git init --bare --shared
  • Моя группа безопасности AWS экземпляра (SG) имеет следующие правила (в настоящее время для отладки)
    • Inbound
      • Порт, Источник: ALL 0.0.0.0/0
    • Outbound
      • порт Источник: ALL 0.0.0.0/0

Кто-нибудь знает, что я не хватает?

Спасибо.

+1

Могли бы [это] (http://gitweb.codeplex.com /) или [this] (http://bonobogitserver.codeplex.com/)? Эти инструменты позволяют обслуживать Git с помощью IIS (очевидно, через протокол HTTP [S] »). – kostix

+0

@kostix Это отличные варианты, спасибо! Если я не смогу выполнить эту текущую настройку, я перейду к одной из этих рекомендаций. Благодарю. – MetaFight

+0

Порт 9418 используется только для протокола git: //, поэтому не нужно, если вы используете ssh – canton7

ответ

0

Убедитесь, что в вашем SG открыты порты 9418 и 22, а не только брандмауэр Windows.

Имейте в виду, что SG по умолчанию настроен отрицать все трафик, поэтому убедитесь, что вы выбрали SSH из Create A New Rule и убедитесь, что CIDR указано соответствует вашим CIDR, или в качестве альтернативы 0.0.0.0/0 для всех.

Для вашего порта протокола git создайте custom rule с 9418 как порт и источник, как указано в вашем выборе SSH.

Если это не решит проблему двойную или тройную проверку вашей группы безопасности (убедитесь, что вы набрали правило применения!), Если возможно, опубликуйте свои правила. Существует хорошая вероятность, что что-то в SG вызывает проблему.

+0

Привет, спасибо за ваш ответ. Я опубликовал дополнительную информацию в своем вопросе. Я не думаю, что это связано с SG, поскольку в настоящее время я разрешаю весь входящий и исходящий трафик. Это будет заблокировано, когда я выясню, что я делаю;) – MetaFight

+0

Не беспокойтесь, я собирался предложить то же самое :), ваш брандмауэр Windows настроен на разрешение портов 22 и 9418? –

+0

Действительно. Я могу просто отказаться от этого подхода для альтернативы HTTP. – MetaFight

1

Вы уверены, что пользователь 'myUser' имеет доступ к /git/myRepo? Обратите внимание, что это root-relative, а не относительно домашнего каталога myUser.

Если вы хотите, чтобы путь относился к домашнему директорию пользователя, попробуйте использовать клон-код формата [email protected]:git/myRepo.

Также убедитесь, что голое репо была создана в /git/myRepo - то есть, если вы ls /git/myRepo, вы видите HEAD, hooks, refs, config и т.д.

Смежные вопросы