ssh不再使用〜/ .ssh / config


20

我什么也做不了。经过一番挖掘后,我发现它不是从主目录读取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

4
我能够解决问题。我将〜/ .ssh的内容复制到了/nas/kuba/.ssh。因此ssh突然使用错误的主目录实际上是一个问题,这可能并不是真正的ssh问题。
库巴2014年

最后的评论对于编辑该问题将是非常有用的信息。
David Z

您的输出表明您正在使用DSA。我会找到一种切换到RSA的方法,因为它是最好的/最新的&我相信DSA坏了。
trysis 2014年

3
据我所知,@ Kuba ssh忽略了HOME环境变量。忽略是一个坏习惯HOME,看来是这样ssh做的。如果它没有使用HOME,我唯一知道的替代办法是从桌面查找它uid。如果您有两个/etc/passwd具有相同项的条目uid,那么.ssh/config即使它们具有不同的主目录,这两个条目最终都将使用相同的文件。
kasperd 2014年

1
@kasperd,应该是一个答案。这是此页面上唯一有助于解决情况的面包屑。谢谢!
通配符

Answers:


14

您似乎被困在特定于用户的全局ssh_config和全局ssh_config之间。

请检查用户配置文件(~/.ssh/config)和系统级配置文件(/etc/ssh/ssh_config)的权限设置,以了解更多详细信息。

您可以在此处了解更多信息。实际上,基于用户的.ssh目录下的所有文件都应位于600上,并且config文件应位于644上。您可以在主目录中使用以下命令进行设置:

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

因此,我从文档中了解到,它首先应该从我的主目录中读取配置,然后再从全局(/ etc / ssh / ssh_config)中读取配置。问题是-为什么它省略了本地配置?
库巴2014年

上面更新的答案
tike

我试过了。没有改变。我更新了我的状态以获取更多详细信息。
库巴2014年

如果您在编辑时还没有彻底改变上述问题:debug1:/Users/kuba/.ssh/config第1行:为* debug1应用选项:/Users/kuba/.ssh/config第39行:为bio的读取配置应用选项,并且您的配置通配符似乎正在起作用。我将保留简单的配置文件以首先使用定义的端口和dest服务器进行测试。
tike 2014年

实际上,我彻底改变了这个问题,以至于我应该关闭它。似乎ssh将其他目录视为我的主文件夹。既不是〜,也不是$ HOME。
库巴2014年

3

检查权限

ls -lsd ~/.ssh

ls -ls ~/.ssh/*

如果权限不好,那么ssh客户端将不会尝试从中读取


0 drwx ------ 9 kuba /Users/kuba/.ssh 8 -rwx ------ 1 kuba /Users/kuba/.ssh/config看起来我是所有人的所有者
Kuba

@Kuba尝试使用ls -la〜/ .ssh /
c4f4t0r

ls -la〜/ .ssh总计80 drwx ------ 9 kuba 1029 306 Jul 1 16:33。drwx ------ + 42 kuba 1029 1428 7月1日16:33 .. -rw-r--r-- 1 kuba 1029 406 May 7 14:53authorized_keys -rwx ------ 1 kuba 1029 1528 5月15日13:07 config -rwx ------ 1 kuba 1029 1675 5月7日14:53 id_rsa -rwx ------ 1 kuba 1029 406 5月7日14:53 id_rsa.pub -rw-r-- r-- 1古巴1029 16049 5月22日09:36known_hosts
古巴

@您确定,您的家庭用户目录未打开?
c4f4t0r 2014年

2
那边的那个+不是ACL?那可能是罪魁祸首?
JorgeSuárezde Lis 2014年

0

我遇到了同样的问题,可以通过在~/.ssh目录(0700)上设置+ x标志,同时在上设置0600来解决此问题~/.ssh/config


0

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

显然,如果以.ssh不同意的方式修改了文件夹,ssh就会变得可疑...


0

如果SSH位于NFS挂载的文件系统上,它将不会读取本地配置。这值得检查,因为所有权限都可以,并且SSH(至少是6.6版)不会向您提供任何指示,说明为什么它不读取用户配置。(但是,如果使用该-F选项,它将从NFS卷读取它。)


0

我在MacO上遇到了相同的问题。通过查看手动登录(ssh @)的调试信息,我发现ssh显然认为我的主目录位于/srv/home/<userid>并且正在其中查找.ssh目录,而忽略了其中的目录。/Users/<userid>/.ssh/

它可能与以特定方式设置Mac的工作有关,但是我建议您检查一下,ssh并确保操作系统同意主目录的位置;)


0

正如“ kasperd”在对问题的评论中指出的那样,请注意,ssh不一定会寻找“ $ {HOME} /。ssh / config”。可以发现,在登录时和声明新的HOME之前,必须深入研究并了解主目录的位置,这一点很重要。

仔细查看的输出的提示对于ssh -xvvvF ~/.ssh/config server帮助回答这个相同的问题非常有见地。在“ / etc / passwd”文件中两个不同用户名具有相同UID的系统上找到自己后,便遇到了此问题。这两个用户在/ etc / passwd中设置了不同的HOME目录。

在这种情况下,事实证明,如果一个用户以“ / etc / passwd”文件中的UID重复的第二个用户身份登录,则ssh使用第一个用户的主目录,并与运行SSH的用户的UID相匹配命令。

的确,这个用例很奇怪,对大多数人都无济于事,但实际上确实发生了,这个问答帮助解决了一个问题。


0

这是由文件权限设置引起的。

检查您的.ssh目录和文件权限,还检查您的主目录权限设置。

对我来说,我不希望其他人看到我的个人文件,因此我删除x了房屋目录的许可。这导致ssh找到错误路径的授权密钥。

解决此问题的一种方法是在中设置另一个授权路径/etc/ssh/sshd_config,例如:

AuthorizedKeysFile .ssh / authorized_keys / etc / ssh / authorized_keys

然后将您的酒吧复制到/etc/ssh/authorized_keys,为我工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.