我有以下 ~/.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
当我现在ssh
,myalias
我收到此错误消息(但端口转发做工作):
$ ssh myalias
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3690
Last login: blah blah
...
- 到底发生了什么事?
- 我怎样才能摆脱这些消息?
答案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