OpenSSH ~/.ssh/config 特定于主机的覆盖不起作用

and*_*dyn 24 linux ssh openssh ubuntu

我已经尝试~/.ssh/config本指南的帮助下设置我的文件但是,特定于主机的用户覆盖无效并且 ssh 尝试使用全局用户名而不是特定于主机的用户名进行连接。我的 ssh 配置是这样设置的:

$ cat ~/.ssh/config
User my_global_username

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines
Run Code Online (Sandbox Code Playgroud)

我也试过将全局用户名放在一个Host *条目下无济于事。我正在运行的 OpenSSH 版本和构建是OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013 `.

cra*_*ran 47

中没有“全局”值.ssh/config。如果你想有一个默认值,你必须把它放在一个Host *部分:

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

Host *
    User my_global_username
Run Code Online (Sandbox Code Playgroud)

注意顺序:第一场比赛获胜!

来自man 5 ssh_config

由于使用了每个参数的第一个获取值,因此应在文件开头附近给出更多特定于主机的声明,并在末尾给出一般默认值。

  • ssh_config(5) 中第二段的第一句话说:“对于每个参数,将使用第一个获得的值。” 我不知道最近是否发生了变化,但我一直在底部有“Host *”。 (12认同)
  • 几个后续问题:1)最近行为有变化吗?链接网站上的指南在顶部清楚地显示了“Host *”。 (2认同)