gpt4 book ai didi

ssh - 当我尝试在 `ddev auth ssh` 之后在 DDEV web 容器中使用 ssh 时,ssh key 似乎不起作用, "too many authentication failures"

转载 作者:行者123 更新时间:2023-12-02 14:27:26 25 4
gpt4 key购买 nike

我已经使用 ddev auth ssh 将我的 ssh 身份添加到我的 DDEV-Local 项目中。

但是当我使用 ssh 连接到外部主机时,ssh example.com 我得到“太多身份验证失败”

Received disconnect from 174.127.116.22 port 22:2: Too many authentication failures
Disconnected from 174.127.116.22 port 22

当我使用 ssh -v example.com 时,我看到它在放弃“太多身份验证失败”之前尝试了六个不同的 key :

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: rfay@rfay-mbp-2017.local RSA SHA256:LrokWMbl1bD0vV0z7Qpn4HLd168NYSIAbqsek6aXIaE agent
debug1: Authentications that can continue: publickey
debug1: Offering public key: rfay@rfay-mbp-2017.local RSA SHA256:ecpRhfcaRWS8EfmYyLuJ81ayhyPWAZd9MG3mKOUKMqA agent
debug1: Authentications that can continue: publickey
debug1: Offering public key: rfay@rfay-mbp-2017.local RSA SHA256:07LrVlDSWu4r+4Eb6WP8FpWYYcREw7IcGm4rtp5v+Ws agent
debug1: Authentications that can continue: publickey
debug1: Offering public key: rfay@rfay-mbp-2017.local RSA SHA256:6L9cIsLlu858CPgb5zZ3v3+5p808uNencyAxJ0S9wOM agent
debug1: Authentications that can continue: publickey
debug1: Offering public key: rfay@rfay-mbp-2017.local RSA SHA256:HwksLkZqEXAK6Zo21+y/C508Mjx2I7EvUQWFScKHsAQ agent
debug1: Authentications that can continue: publickey
debug1: Offering public key: rfay@rfay-mbp-2017.local RSA SHA256:dsGaELF0OPNyQfIYZoEyI+dP3AQqh5r+15iUwfalNtc agent
Received disconnect from 174.127.116.75 port 22:2: Too many authentication failures
Disconnected from 174.127.116.75 port 22

我该如何解决这个问题?请注意,我的 ~/.ssh 目录中有 10 个不同的私钥。

最佳答案

似乎 ssh 并不是为使用大量私钥而设计的,但有些人最终还是得到了很多私钥。 (请注意,您可以将一个私钥用于很多很多目的;您与世界或外部服务共享的只是公钥,它不会泄露有关私钥的任何信息。 )

ddev auth ssh正在为您设置 ssh 代理,但似乎没有办法让 ssh 从代理提供的身份中选择特定身份,您需要使用两种解决方法之一。

解决方法#1:只使用几个键

当然,您可以将 ~/.ssh 目录中的键数减少到 6 个或更少(6 是服务器端 sshd 中 MaxAuthTries 的默认值)。但我们假设您不想这样做。

创建一个目录,可能是~/ddev-ssh-keys .在该目录中,复制或符号链接(symbolic link)您最常使用的 6 个键。所以cd ~/ddev-ssh-keys && for item in goodkey1 goodkey2 ... googdkey6; do ln -s ~/.ssh/$item; done (或您想要完成链接或复制的任何方式)。

现在ddev auth ssh -d ~/ddev-ssh-keys而 ddev-ssh-agent 将只有这 6 个 key 。如果它们是解决大部分问题的正确关键,那么您应该擅长使用这种方法。

解决方法 #2:使用 .ddev/homeadditions 将 key 复制到容器中

此变通方法可让您实际将所需的 key 复制到 Web 容器中。这可能不如第一种方法安全(因为您永远不应该真正在任何地方复制您的私钥),但它有效。

如果你真的想要容器中的 key (而不是使用代理),那么 mkdir -p .ddev/homeadditions/.ssh && cp ~/.ssh/<yourimportantkey(s)> .ddev/homeadditions/.ssh && chmod 700 .ddev/homeadditions/.ssh && chmod 600 .ddev/homeadditions/.ssh/* .然后,您可以以任何方式使用 .ddev/homeadditions/.ssh/config 文件,包括指定 key 。

此答案改编自https://github.com/drud/ddev/pull/2224

关于ssh - 当我尝试在 `ddev auth ssh` 之后在 DDEV web 容器中使用 ssh 时,ssh key 似乎不起作用, "too many authentication failures",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61485061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com