ssh 端口转发和多个别名

ssh 端口转发和多个别名

我有以下 ~/.ssh/config 文件:

$ cat ~/.ssh/config
Host myalias
    HostName fully.qualified.domain.name
    Port 2222
    LocalForward 3690 127.0.0.1:3690

当我 ssh 到 时myalias,一切正常:

$ ssh myalias
Last login: blah blah
...

但是,我无法ssh这样做fully.qualified.domain.name,因为配置文件中缺少一个Host部分。因此,我更改了文件,以便该部分对和 fqdnHost 都有效:alias

$ cat ~/.ssh/config
Host myalias fully.qualified.domain.name
    HostName fully.qualified.domain.name
    Port 2222
    LocalForward 3690 127.0.0.1:3690

当我现在sshmyalias我收到此错误消息(但端口转发工作):

$ ssh myalias
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3690
Last login: blah blah
...
  1. 到底发生了什么事?
  2. 我怎样才能摆脱这些消息?

答案1

尝试ssh -vvv <host>调试问题。

这应该有效:

Host myalias
    HostName fully.qualified.domain.name
Host fully.qualified.domain.name
    Port 2222
    LocalForward 3690 127.0.0.1:3690

编辑:

对于不同的选项,使用不同的别名。

Host alias1
    HostName fully.qualified.domain.name
Host alias2
    HostName fully.qualified.domain.name
    LocalForward 3690 127.0.0.1:3690
Host fully.qualified.domain.name
    Port 2222

相关内容