我什么也做不了。经过一番挖掘后,我发现它不是从主目录读取ssh config。
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
(...)
在朋友的同一台计算机上,一切正常时,它看起来像这样:
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
(...)
它较早就起作用了,我不知道可以做些什么导致此问题。这怎么可能发生,以及如何解决?
在tike指向的文档链接中,它指出
由于存在滥用的可能性,该文件必须具有严格的权限:用户读/写,并且其他人不能访问。
我的权限是:
$ ls -la ~/.ssh
total 80
drwx------+ 42 kuba 1029 1428 Jul 1 16:33 ..
-rwx------ 1 kuba 1029 1528 May 15 13:07 config
(...)
我认为问题可能在于对主目录的困惑。当我强制本地配置文件时,它开始工作,然后突然开始从/nas/kuba
$ ssh -xvvvF ~/.ssh/config server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
debug1: /Users/kuba/.ssh/config line 1: Applying options for *
debug1: /Users/kuba/.ssh/config line 39: Applying options for bio
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXXX [YYYY.YYY.YYY.YYY] port 22.
debug1: Connection established.
debug1: identity file /nas/kuba/.ssh/id_dsa type -1
^^^^^^^^^^
但是我的主目录似乎没问题:
$ cd ~; pwd
/Users/kuba
$ echo $HOME
/Users/kuba
ssh
忽略了HOME
环境变量。忽略是一个坏习惯HOME
,看来是这样ssh
做的。如果它没有使用HOME
,我唯一知道的替代办法是从桌面查找它uid
。如果您有两个/etc/passwd
具有相同项的条目uid
,那么.ssh/config
即使它们具有不同的主目录,这两个条目最终都将使用相同的文件。