我创建了一个新的 Oracle 云 Linux 实例,在创建时下载了私钥和公钥,但现在我无法访问它。我按照指南四处寻找,但我基本上只能找到钥匙弄混的人,我已经仔细检查过。
它显示为正在运行,但如果我尝试通过以下方式进行 SSH:
ssh -i ssh-key-2022-09-18.key [email protected]
然后我得到:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
有什么帮助吗?
如果您在
Instance Creation
期间使用了 OCI 自动生成的密钥,则默认用户名是 opc
而不是您问题中提到的 ops
。
只有在密钥没有丢失的情况下,您才能通过 SSH 连接,因为创建实例后无法检索私钥。
如果您丢失了密钥,则要上传新密钥,您将必须使用启动卷(请参阅此答案如何更改 Oracle 云实例的公钥?了解有关如何添加新 SSH 的更多详细信息键)
注意:要访问 OCI 实例,还有许多其他先决条件,例如拥有公共 IP 或通过堡垒访问等。请查看此 https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/访问instance.htm文档以获取更多详细信息。
对我来说,问题是私钥文件的权限,当通过cloud shell控制台上传时,它会自动设置为644,必须将它们设置为400才能工作。 另外,如果我尝试 ssh opc@public_ip_of_opc_instance 则不起作用,只能通过 ssh -i private_key_file.key opc@public_ip_of_opc_instance 工作。