无法通过 SSH 访问实例

问题描述 投票:0回答:2

我有 15 个实例使用相同的安全组运行,但是我可以通过 SSH 访问其中一些实例,但不能访问其他实例。我收到了这些实例的“权限被拒绝(公钥)”消息。我还确认所有实例都使用相同的公钥,并且我尝试使用相同的私钥通过 ssh 连接到所有实例。

我想念什么?

谢谢您的帮助!

openstack
2个回答
0
投票

如果您收到“权限被拒绝(公钥)”,则这不是安全组问题。它很可能是以下之一:

  1. 您没有指定启动某些实例时要使用的公钥。
  2. 某些实例上的元数据服务存在问题,这意味着 cloud-init 无法检索公钥。
  3. 您使用了错误的凭据;例如不同实例上的管理员帐户名称不同。 (默认值取决于操作系统。)
  4. 您的 ~/.ssh 目录中有多个密钥,并且正在以错误的顺序尝试它们。如果您在服务器端设置了
    fail2ban
    ,则每次客户端提供密钥时都将计为一次登录尝试。在尝试可用的密钥之前,您可以达到限制。

如果您从第一次启动时查看相应实例的控制台日志,您可以看到实际使用了哪些公钥。这可以用来诊断 1 和 2。

对于 3,请检查操作系统文档。

对于 4,尝试使用

ssh
命令的
-i
选项来指定私钥文件的路径。

还有其他的可能性;例如如果您从非原始图像/快照启动实例。

参考:


0
投票

问题可能是您没有为 cloud init 设置出口规则来访问元数据服务并下载您的公钥。

© www.soinside.com 2019 - 2024. All rights reserved.