eli*_*lon 1 ssh port osx-mountain-lion
我有一个.ssh/config
配置为使用 SSH 连接到不同服务器的文件:
###
# Identity files
###
IdentityFile ~/.ssh/id_dsa_home
IdentityFile ~/.ssh/id_dsa_github
IdentityFile ~/.ssh/id_rsa_bitbucket
###
# Global options
###
PasswordAuthentication no
PubkeyAuthentication yes
Host *
Port 22
Host icarus
User elitalon
HostName 192.168.1.1
Port 54301
Host zeus
User elitalon
HostName 192.168.2.1
Port 54302
Host github
User git
HostName github.com
Host bitbucket
User git
HostName bitbucket.org
Run Code Online (Sandbox Code Playgroud)
这个配置过去工作得很好。但是,由于我升级到 Mac OS X Mountain Lion,SSH 对于条目Port
中的特定值的行为有所不同Host
:
zeus
SSH,则始终使用端口 22,而不是 54301。Port 22
并尝试连接到Host
没有Port
条目的设备,SSH 将使用第一个Port
值集(本例中为 54301)。尝试不同的组合后,SSH 似乎处理了所有配置文件,但只采用Port
指定的第一个值,根据手册页,这是预期的行为:
对于每个参数,将使用第一个获得的值
但手册页还指出
配置文件包含由“主机”规范分隔的部分,并且该部分仅适用于与规范中给出的模式之一匹配的主机。
所以我认为,通过不指定任何Port
值,默认端口只会在实际具有值的那些部分中更改Port
。
Host
那么,除非指定了另一个值,否则如何设置条目以使用端口 22?
谢谢!
由于使用每个参数的第一个获得的值,因此应在文件开头附近给出更多特定于主机的声明,并在末尾给出一般默认值。
所以
Host *
Port 22
Run Code Online (Sandbox Code Playgroud)
应该移到最后。
归档时间: |
|
查看次数: |
3142 次 |
最近记录: |