我有一个奇怪的情况,我被告知我的 IT 使用 ssh URL 中的端口连接到 git 服务器。我原来的 ssh 配置如下:
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
。我在该配置中遇到了一些奇怪的 Auth 错误(尽管基本功能仍在工作),因此 IT 指示我使用 git 远程 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
突然,似乎 ssh 无法再解析 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 的解析。有人可以验证吗?