【问题标题】:SSH Permission denied (publickey) on my Oracle cloud instance我的 Oracle 云实例上的 SSH 权限被拒绝(公钥)
【发布时间】:2021-08-06 10:38:31
【问题描述】:

我不得不切换到安装了 linux 子系统的新 PC。 这意味着我无法访问在创建免费 Oracle 云实例时生成的密钥对。

现在使用新 PC,我正在尝试创建新的控制台连接并生成新的密钥对,但我总是收到“权限被拒绝(公钥)”。

我有公共 IP 地址和用户。我能够创建控制台连接并上传我自己的 .pub 密钥,但我无法解决此问题。

我能够从我的旧电脑上复制我原来的密钥对,但这也不起作用。

我无法访问我的 Oracle 云实例。

有什么建议吗?

【问题讨论】:

  • 与 My Oracle Support 交谈。

标签: oracle ssh key-pair


【解决方案1】:

你好(我没有足够的声望问你细节,所以我把它放在这里),如果我理解你的故事,你使用旧密钥连接。

但是您能否以任何方式连接到您的实例?

我能够创建控制台连接并上传我自己的 .pub 密钥,但我无法解决此问题。

我的 Oracle 云实例被锁定

无论哪种方式,如果您认为您的实例中有您的公钥,您可以尝试在使用ssh user@ip -i /path/to/private/key 连接时强制使用相应的私钥(可能是~/.ssh/ 中的一个文件)。

如果您没有与您的实例中存在的公共密钥相对应的任何私钥,那么您基本上会被锁定(如果实例仪表板上没有任何恢复选项,您可以丢弃该实例)。

【讨论】:

  • 对不起,我不清楚。我可以在使用 Web GUI 时创建控制台连接。这允许使用密钥对生成控制台连接。然后,您可以下载私钥并使用它连接到控制台。但是,这对我不起作用,这不是一个理想的解决方案。生成实例时,我的旧 PC 使用了密钥对。我希望简单地将这些密钥复制并粘贴到我的新 PC 和远程到我的云实例,但这也行不通。
  • @Noobuntu 好的,很好,你有办法以某种方式连接到实例。如果您拥有有效的私钥,那么您只需要像here 那样将密钥添加到您的 ssh 代理。您是否尝试过像我说的那样使用ssh user@ip -i /path/to/private/key 之类的-i 标志。如果可行,请让我编辑我的答案,您可以将其验证为解决方案
  • 当我尝试添加到 ssh 代理时收到Error loading key "/home/gil/.ssh/id_rsa": invalid format。这是我在 Windows 机器上保存为 id_rsa.txt 的私钥。我运行ssh-keygen 来生成密钥。然后,我使用 nano 用生成实例时使用的原始键的内容覆盖键的内容。
  • 它可能是文件扩展名/类型,你不能直接使用生成的文件直接加载它而不是应对内容吗?也许它就像.pem.ppk 或别的什么,尝试使用原始文件名(这里是我在谈论serverfault.com/questions/9708/… 的详细信息)
  • 它不是 .pem 或 .ppk。我在 CLI 中使用 ssh-keygen 生成了它们。
【解决方案2】:

感谢发帖,我遇到了同样的问题,在我的情况下,它是由使用 DSA 公钥引起的,也许不支持?它说:

debug1: Skipping ssh-dss key /Users//.ssh/id_dsa - not in PubkeyAcceptedKeyTypes

当我尝试使用 RSA 公钥重新创建实例时,一切正常。

要进行故障排除,只需运行 sss -vvv 以获得更详细的输出并查看它告诉您的内容(如上面的这个 sn-p)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-24
    • 2014-11-08
    • 2019-03-11
    • 1970-01-01
    • 2019-03-08
    • 2019-08-20
    • 2016-08-13
    • 1970-01-01
    相关资源
    最近更新 更多