SSH не принимает конфигурацию порта для конкретного сервера на Mac

Я пытаюсь подключиться к экземпляру GitLab с нестандартным портом с Mac. Я изучил документацию по .ssh / config и попробовал разные варианты, и я думаю, что моя конфигурация в порядке, но ssh все еще использует порт 22.

ssh -vv gitlab.braemer.myds.me
OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/andrey/.ssh/config
debug1: /Users/andrey/.ssh/config line 1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to gitlab.braemer.myds.me port 22.
ssh: connect to host gitlab.braemer.myds.me port 22: Connection refused

И конфигурация здесь:

cat ~/.ssh/config
Host *
  Port 22

Host github.com-irondad
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_2
  IdentitiesOnly yes

Host gitlab.braemer
  HostName gitlab.braemer.myds.me
  User git 
  IdentityFile ~/.ssh/id_rsa
  IdentitiesOnly yes
  Port 87111

Есть идеи, что не так?

0
задан 1 October 2020 в 19:55
2 ответа

Помимо проблем, на которые указал Майкл Хэмптон, когда файл конфигурации имеет несколько применимые объявления для одного и того же параметра, используется первое. Поскольку объявление Port 22 в разделе Host * предшествует объявлению Port 87111 в разделе Host gitlab.braemer , раздел Объявление порта 22 всегда будет иметь приоритет. Из справочной страницы ssh_config (курсив добавлен):

Для каждого параметра будет использоваться первое полученное значение . В файлы конфигурации содержат разделы, разделенные "Host" спецификации, и этот раздел применяется только к хостам, которые соответствуют один из шаблонов, указанных в спецификации. Соответствующее имя хоста - значение, указанное в командной строке.

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

Поэтому, если вы хотите включить настройки параметров по умолчанию в раздел Host * , вы должны поместить его в конец файла. Или, в этом случае, просто оставьте его выключенным, так как порт 22 в любом случае используется по умолчанию.

Для полноты, проблемы, которые указал Майкл Хэмптон, заключаются в том, что для применения деклараций в файле конфигурации вы должны использовать имя из Заголовок раздела Host , а не тот, который указан в объявлении HostName , и номера портов увеличиваются только до 65535.

2
ответ дан 4 January 2021 в 09:17

Вы не указали номер порта в своей команде.

Вы не указали альтернативное имя хоста, которое вы настроили в файле .ssh / config в вашем команда.

Вы должны выполнить хотя бы одно из этих действий.


Вам также потребуется использовать действительный номер порта. Номера портов увеличиваются только до 65535.

3
ответ дан 4 January 2021 в 09:17

Теги

Похожие вопросы