mor*_*s3A 5 ssh ssh-tunneling tunneling ssh-config
我想使用两个连续的堡垒主机登录到 linux 服务器。我的.ssh/config文件看起来像这样:
Host *
User username0
Host hostname0
Hostname foo
Host hostname1
Hostname bar
Port 0
ProxyCommand ssh -W %h:%p hostname0
Host hostname2
User username2
Hostname bat
Port 1
ProxyCommand ssh -W %h:%p hostname1
Run Code Online (Sandbox Code Playgroud)
我的用户名hostname0和hostname1是username0,但我的用户名hostname2是username2。
hostname0 和 hostname1 的条目按预期工作。但条目hostname2似乎忽略了该User选项。
ssh hostname2 导致显示:
username0@hostname2's password:
Run Code Online (Sandbox Code Playgroud)
如果我将 hostname2 的 ProxyCommand 更改为,ssh -l username2 -W %h:%p hostname1那么它会要求我输入 username2@hostname1 的密码。
username2@hostname1's password 这是有道理的,因为我要求它以hostname1as登录username2,但它显然不起作用,因为我的用户名实际上是username0.
如何配置 ssh 以在每种情况下使用正确的用户名?
使用不同的块顺序Host。匹配Host *所有内容并且ssh_config不会覆盖已存储的条目:
Host hostname0
Hostname foo
Host hostname1
Hostname bar
Port 0
ProxyCommand ssh -W %h:%p hostname0
Host hostname2
User username2
Hostname bat
Port 1
ProxyCommand ssh -W %h:%p hostname1
Host *
User username0
Run Code Online (Sandbox Code Playgroud)
将其移至Host *最后将使其再次为您工作。
| 归档时间: |
|
| 查看次数: |
2558 次 |
| 最近记录: |