ssh不再使用〜/ .ssh / config

我什么都做不了。 经过一番挖掘,我发现它不是从我的主目录读取sshconfiguration。

$ 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指出的文档链接中指出

 Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not accessible by others. 

我的权限是:

 $ ls -la ~/.ssh total 80 drwx------+ 42 kuba 1029 1428 Jul 1 16:33 .. -rwx------ 1 kuba 1029 1528 May 15 13:07 config (...) 

我认为这个问题可能与主目录混淆。 当我强制本地configuration文件开始工作,然后突然开始从/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 

你似乎被困在用户特定的VS全局ssh_config之间。

请检查用户configuration文件( ~/.ssh/config )的权限设置以及系统范围的configuration文件( /etc/ssh/ssh_config )以了解更多细节。

你可以在这里阅读更多。 实际上,基于.ssh目录的用户下的所有文件都应该在600以上, config文件应该在644上。您可以在主目录中使用以下命令来设置它:

 chmod 600 ~/.ssh/* chmod 644 ~/.ssh/config 

检查权限

 ls -lsd ~/.ssh 

 ls -ls ~/.ssh/* 

如果权限不好,那么SSH客户端将不会尝试读取它

我有同样的问题,我可以通过在~/.ssh dir(0700)上设置+ x标志来修复它,同时在~/.ssh/config上设置0600。

对于它的价值,我遇到了同样的问题,并通过让ssh再次创build.ssh文件夹(只需重命名ssh并执行一些ssh命令)并使用适当的权限复制所需文件。 (configuration为600)。

显然ssh变得可疑,如果文件夹.ssh以不赞同的方式修改…

如果SSH位于挂载NFS的文件系统上,它将不会读取本地configuration。 这是值得的检查,因为所有的权限可以很好,SSH(至less6.6版本)不会告诉你为什么不读取用户configuration。 (但是,如果使用-F选项,它将从NFS卷读取。)