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

Настройка Git через SSH в Windows с использованием нестандартного порта

Мне пришлось переключиться с Ubuntu, чтобы я мог использовать Adobe Suite на полной скорости, и теперь я обнаружил, что SSH в Windows не так унифицирован, как в Linux.

Итак, я установил msysgit и замазка но я обнаружил, что у git проблемы с использованием putty для SSH. (Я установил msysgit на путь Windows и использовал plink).

Я пытаюсь добавить пульт в моем проекте git сейчас на сервер на нестандартном порту, используя файл /.ssh/config, например

Host 255.255.255.255
Port 22222

Затем я добавляю данные в свой репозиторий git:

git remote add origin user@255.255.255.255:~/git/repo

Но когда я пытаюсь нажать, я получаю сообщение об ошибке.

$ git push origin master
FATAL ERROR: Network error: Connection refused
fatal: The remote end hung up unexpectedly

Итак, я попробовал просто использовать SSH из консоли git:

ssh user@255.255.255.255

Что запрашивает у меня пароль для моего закрытого ключа (которого у него нет), и когда я терплю неудачу, он запрашивает у меня мой пароль пользователя SSH (который работает).

Поскольку я собираюсь отключить вход в SSH по паролю, мне нужен git, чтобы правильно использовать мой ключ.

У меня аналогичный рабочий процесс, но я использую gitosis для управления репо на моем VPS.

Я использую msysgit bash с путем к Windows и plink, как вы предлагаете выше, но, кроме того, я использую пагент для управления ключом SSH.

Чтобы получить доступ к моим репозиториям, я принимаю этот порядок,

  • Откройте Pagent и получите доступ к моему ключу (вы вводите кодовую фразу здесь только один раз, если она у вас есть, и даже если вы это делаете, она запоминает ее на весь сеанс).
  • Затем откройте Git bash и добавьте / commit / push / pull / clone как обычно.

Замечу одно предостережение: мне пришлось преобразовать ключ, который я создал с помощью Git bash, с помощью Putty Gen (доступен по той же ссылке выше), чтобы Pagent мог его использовать.

Я неправильно указал строку подключения.

$ git remote add test ssh://user@domain.tld:22222/~/git/repo

У меня также не было запущенного пагента для управления ключами за меня. ;)

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