Является ли `host.name.edu: XXXX` недопустимым форматом для файла` .ssh / config`? - PullRequest
1 голос
/ 29 апреля 2020

У меня странный случай, когда мне говорят, что мои ИТ-специалисты должны использовать порт внутри URL-адреса s sh для подключения к git серверу. Моя исходная конфигурация s sh выглядит следующим образом:

Host my-host-alias
  HostName redacted.redacted.edu
  Port 2222
  User git
  IdentityFile ~/.ssh/my-ssh-private-key

, и я использовал git remote url ssh://git@my-host-alias/path/to/repo.git. Я получал некоторые странные ошибки аутентификации с этой конфигурацией (хотя функциональность basi c все еще работала), поэтому ИТ-отдел поручил мне использовать git remote url ssh://git@redacted.redacted.edu:2222/path/to/repo.git, и, похоже, он работал с указанным вручную GIT_SSH_COMMAND='ssh -i ~/.ssh/my-private-ssh-key. Поэтому я перенастроил свой .ssh / config следующим образом:

Host redacted.redacted.edu:2222
  IdentityFile ~/.ssh/my-ssh-private-key

Внезапно кажется, что s sh больше не может анализировать запись Host. Если я запускаю ssh -Tvvv ssh://git@redacted.redacted.edu, я получаю следующий вывод (фрагмент):

debug1: /Users/myuser/.ssh/config line 94: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: /etc/ssh/ssh_config line 52: Applying options for *

Похоже, что указание хоста с портом в URL нарушает синтаксический анализ .ssh / config. Может кто-нибудь это проверить?

1 Ответ

0 голосов
/ 02 мая 2020

Синтаксис S SH URI не будет использовать ~/.ssh/config

Синтаксис SCP , используемый OpenS SH (1999) , из истории протокола S SH , предшествует URI (завершено с RF C 3986 , Январь 2005)

Поэтому вам нужно использовать my-host-alias:path/to/repo.git, если вы хотите использовать .ssh/config.

...