尝试使用 RSA 密钥通过 SSH 访问 EC2,获取:不正确的 RSA1 标识符...权限被拒绝(公钥)

2024-03-24

我在 Amazon EC2 上创建了一个 Ubuntu 12.04 实例。

我已经下载了 PEM 文件并且能够通过 SSH 连接到实例,没有问题。

现在,我想在远程实例上为顾问等创建一些帐户。 他们应该能够使用 RSA 密钥通过 ssh 进入盒子。在 EC2 机器上,我在 ~/home/ 中设置了一些帐户并将它们分配给组管理员。我也给自己提供了一个类似的帐户(MyTestAccount)用于测试。这就是我所做的:

我使用 key-gen 在本地计算机 (~/.ssh) 上的 .ssh 目录中创建公钥和私钥:

drwx------  2 peter peter 1024 Sep 14 10:23 .ssh

以及里面的文件:

-rw-------  1 peter peter 1675 Sep 14 10:23 id_rsa
-rw-------  1 peter peter  394 Sep 14 10:23 id_rsa.pub
-rw-------  1 peter peter  444 Sep 14 00:05 known_hosts

然后,我将 id_rsa.pub 文件发送到我的远程 EC2 实例,并将其附加到 我的远程实例中的 .ssh/authorized_keys 文件。我的遥控器的权限 .ssh目录:

drwx------ 2 ubuntu ubuntu 4096 Sep 16 16:13 .ssh

以及我的authorized_keys 文件:

-rw-------  1 peter ubuntu  1179 Sep 14 00:05 authorized_keys

接下来,我注销了远程实例,并尝试使用新密钥通过 SSH 连接到远程设备。当我发出以下命令时:

peter@ubuntu:~/.ssh$ ssh -vvv [email protected] /cdn-cgi/l/email-protection 

我得到以下内容。我的私钥好像有问题?有什么建议么?谢谢。

OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config  
debug1: /etc/ssh/ssh_config line 19: Applying options for *  
debug2: ssh_connect: need priv 0
debug1: Connecting to ec2-XX-XXX-XX-XXX.compute-1.amazonaws.com [XX.XXX.XX.XXX] port 22.  
debug1: Connection established.  
debug3: Incorrect RSA1 identifier  
debug3: Could not load "/home/peter/.ssh/id_rsa" as a RSA1 public key 
debug1: identity file /home/peter/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048 
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/peter/.ssh/id_rsa-cert type -1  
debug1: identity file /home/peter/.ssh/id_dsa type -1  
debug1: identity file /home/peter/.ssh/id_dsa-cert type -1  
debug1: identity file /home/peter/.ssh/id_ecdsa type -1 
debug1: identity file /home/peter/.ssh/id_ecdsa-cert type -1  

[剪...]

debug2: we sent a publickey packet, wait for reply  
debug1: Authentications that can continue: publickey  
debug1: Trying private key: /home/peter/.ssh/id_dsa  
debug3: no such identity: /home/peter/.ssh/id_dsa
debug1: Trying private key: /home/peter/.ssh/id_ecdsa  
debug3: no such identity: /home/peter/.ssh/id_ecdsa 
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try. **Permission denied (publickey).**

这种情况很正常,并不奇怪。
您收到的消息:

debug3:RSA1 标识符不正确
debug3:无法加载“/home/user_name/.ssh/id_rsa”作为 RSA1 公钥

实际上并不表示错误。
RSA1公钥仅用于SSH协议1,该协议已经过时。现在主要使用SSH协议2。

在正常的 SSH 登录过程中,您很可能会看到带有以下内容的警告消息ssh -vvv.
您可能会感到惊讶,但不用担心,这是正常的。

参考:
https://bbs.archlinux.org/viewtopic.php?id=122646 https://bbs.archlinux.org/viewtopic.php?id=122646, #9

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试使用 RSA 密钥通过 SSH 访问 EC2,获取:不正确的 RSA1 标识符...权限被拒绝(公钥) 的相关文章

随机推荐

  • Laravel、AngularJS 和 CORS 的路由问题

    我一直在广泛寻找解决这个问题的方法 我有一个 AngularJS Web 应用程序 其后端实现为 Laravel 4 如下所示 http app mydomain io AngularJS web app http api mydomain
  • 在 x86 32 位中禁用分页

    我试图直接写入物理内存位置 因此我使用汇编函数首先禁用分页 写入值 然后重新启用分页 但由于某种原因 在尝试写入时仍然会触发页面错误价值 据我了解 在x86 32位中 通过翻转cr0中的第32位来打开和关闭分页 所以这是我的汇编函数 mov
  • 使用 robocopy 复制文件(长名称和路径,以及许多空格) - 缺少参数

    我尝试使用 robocopy 复制文件 但 PowerShell 给出错误 MissingArgument robocopy D Enciclopedia mia Tutorial FATTI DA ME Internet Google L
  • 是否可以让您上传的 iPhone 应用程序自动更新? [复制]

    这个问题在这里已经有答案了 我即将将我的 iPhone 应用程序上传到苹果商店 但我打算在不久的将来发布更多版本 一旦我将新版本上传到苹果商店 是否有办法使我的应用程序自动更新 也就是说 我即将上传版本 1 0 一旦我上传版本 1 x 用户
  • 并发字典 AddOrUpdate 与索引添加

    在当前项目中 我可以通过两种方式为并发字典中的现有键分配值 A concurrentDictionary1 key value and B concurrentDictionary2 AddOrUpdate key value k v gt
  • 如何在 Pygame 中获取显示器的分辨率?

    我只是想知道我是否可以在 Pygame 中获取显示器的分辨率 然后使用这些尺寸创建一个窗口 以便启动程序检测显示器分辨率 然后自动将窗口适合全屏屏幕 我目前正在使用pygame display set mode AN INTEGER AN
  • weblogic.jndi.WLInitialContextFactory 类在哪里?

    当尝试执行我的 jar 文件时 出现异常 javax naming NoInitialContextException Cannot instantiate class weblogic jndi WLInitialContextFacto
  • 有条件地将操作添加到 Java 8 流

    我想知道是否可以根据流外部设置的某种条件向流添加操作 例如 我想向流添加限制操作 如果我的limit变量不等于 1 我的代码目前看起来像这样 但我还没有看到以这种方式使用流的其他示例 其中 Stream 对象被重新分配给应用于自身的中间操作
  • Haskell 中关系数据的安全建模

    我发现在函数式程序中对关系数据建模是很常见的 例如 在开发网站时 我可能希望使用以下数据结构来存储有关我的用户的信息 data User User name String birthDate Date 接下来 我想存储有关用户在我的网站上发
  • Django 自定义表单 ImportError 即使文件位于同一目录中

    我正在努力通过有效的 Django http effectivedjango com 教程系列 我目前在尝试创建要在应用程序中使用的自定义表单时遇到问题 我按照中的说明创建了 forms py 文件本教程的这一部分 http effecti
  • 中心参数在新的谷歌地图嵌入中不起作用

    我已将新的嵌入代码用于新的谷歌地图 如下所示 https developers google com maps documentation embed guide https developers google com maps docum
  • C++:在这种情况下引用的优点是什么?

    我有两段代码 int f1 int b return b int f2 int b return b 这些功能有什么区别 我知道第二个返回一个引用 但由于我可以以相同的方式使用这两个函数 有什么区别 编辑 这个功能更好吗 int f2 in
  • RMySQL dbWriteTable 与 field.types

    我有一个数据框 称为df 看起来像这样 dte val 2012 01 01 23 2323 2012 01 02 34 343 列上的类型是日期和数字 我想使用已经打开的连接将其写入 MySQL 数据库 连接工作正常 因为我可以很好地查询
  • 解决PeriodFormat 中Joda Time 错误的方法?

    这是我的代码 揭示了 Joda Time 错误 import org joda time Period import org joda time format PeriodFormat import org joda time format
  • 如何创建学习清单项目

    我有一个水平的RecyclerView看起来像这样 显然 1 2 3 4 5 我想做这个 1 2 3 4 5
  • Hadoop 中分布式缓存的生命周期

    Hadoop流作业中使用分布式缓存机制将文件传输到节点时 作业完成后系统是否会删除这些文件 如果它们被删除 我认为是这样 有没有办法使缓存保留用于多个作业 这在 Amazon Elastic Mapreduce 上的工作方式是否相同 我正在
  • 时序问题 - DGV 在流程修改数据之前刷新

    我在表单上有一个按钮 用于启动一个进程 在 x 不同 秒后 更改数据库表 Y 中的一些数据 调用 InitializeGridView 然后刷新显示前面提到的表 Y 的 DGV 问题是InitializeGridView 在进程之前完成 因
  • 使用 Typescript 扩展 Express Request 对象

    我正在尝试添加一个属性来使用打字稿从中间件表达请求对象 但是我不知道如何向对象添加额外的属性 如果可能的话 我宁愿不使用括号表示法 我正在寻找一个解决方案 允许我编写类似的内容 如果可能的话 app use req res next gt
  • 使用 Sun 专有的 Java 类是一种不好的做法吗?

    如果您使用 Sun 专有的 Java 类 编译器会显示警告 我认为使用这些类通常是一个坏主意 我在某处读到过这个 然而 除了警告之外 还有什么根本原因不应该使用它们吗 因为它们是内部 API 它们可能会发生变化无证的 or 不支持的方式并且
  • 尝试使用 RSA 密钥通过 SSH 访问 EC2,获取:不正确的 RSA1 标识符...权限被拒绝(公钥)

    我在 Amazon EC2 上创建了一个 Ubuntu 12 04 实例 我已经下载了 PEM 文件并且能够通过 SSH 连接到实例 没有问题 现在 我想在远程实例上为顾问等创建一些帐户 他们应该能够使用 RSA 密钥通过 ssh 进入盒子