Я использую нестандартный порт ssh (1234) для большинства серверов, к которым я подключаюсь. Итак, в моем файле конфигурации ssh у меня есть:
Port 1234
Но github.com использует порт 22. Когда я пытаюсь подключиться к github, он явно пытается использовать порт 1234. Сейчас мне нужно отредактировать конфигурацию ssh, чтобы все заработало.
Вот отрывок из моей конфигурации git:
[remote "origin"]
url = git@github.com:asdf/asdf.git
Создание раздела в ~/.ssh/config
- прекрасное решение, но может быть полезно узнать о другом методе.
Общее scp-подобный синтаксис user@host:path
нет места для порта, но Git также поддерживает ssh:
Схема URL, которую можно использовать для указания порта:
ssh://git@github.com:22/asdf/asdf.git
Пока ssh:
URL поддерживает спецификацию порта, он не поддерживает относительные пути (например, нет прямого эквивалента scp-подобный синтаксис user@host:path
где path
не начинается с косой черты).
GitHub обрабатывает относительные и абсолютные пути одинаково, поэтому он работает для них, но может не работать для всех репозиториев Git на основе SSH. Для простого хостинга на основе SSH вам может потребоваться вставить /home/username/
или /Users/username/
при переключении с относительного пути на абсолютный. Некоторые хостинговые системы могут вообще не обрабатывать абсолютные пути (хотя я бы назвал такое отсутствие поддержки ошибкой).
Посмотрите, как настроить свой ~ / .ssh / config файл правильно (man 5 ssh_config). Вы можете легко указать разные настройки для разных хостов. Чтобы решить вашу проблему, вы должны установить
Host github.com
Port 22
Host *
Port 1234
Взгляните на страницу руководства ssh_config, она объясняет все, что вам нужно знать на первых нескольких страницах.
(Мне нравится, когда я нахожу ответ сразу после того, как его задаю.)
Я изменил свою конфигурацию ssh, чтобы указать порт для каждого хоста вместо глобального параметра:
Host asdf.com
Port 1234
Host github.com
User git
Hostname github.com
Port 22
Нашел эту ссылку, и хотя она была полезной, моя запись в блоге могла бы прояснить ее:
https://prestongarrison.com/change-port-git-is-using-for-ssh/
В принципе, я думаю, что гораздо лучше просто отредактировать файл .git / config и внести изменения.