【问题标题】:AWS ssh public key deniedAWS ssh 公钥被拒绝
【发布时间】:2021-01-21 19:07:28
【问题描述】:

对此有很多问题和讨论。我也尝试按照文档进行操作,但无法弄清楚。

基本上我可以使用我的 pem 密钥进行 ssh 喜欢ssh -i "xyz.pem" ubuntu@ec2-134-13-11-45.ap-south-1.compute.amazonaws.com

但现在我需要在没有 pem 的情况下正常 ssh,例如 ssh ubuntu@ip 它一直显示为权限被拒绝的公钥。

所以我使用 keygen 生成了公钥,并通过在 ubuntu 实例中创建一个新目录 .ssh 并设置 chmod 700 和 chmod 600 权限,将其从本地系统推送到服务器中的 .ssh/authorized_keys

当我尝试直接访问它ssh@ubuntu.ip 时,我一直收到错误..

这是一个非常基本的问题,请帮助我解决这个问题!

【问题讨论】:

  • 这里的目标是什么?只是为了避免必须指定使用哪个键?您可以通过ssh-add /path/to/xyz.pem 将其添加到您的 ssh-agent 密钥环

标签: amazon-web-services ubuntu amazon-ec2 ssh


【解决方案1】:

我相信 aws 服务器设置为仅使用 ssh 密钥文件。如果您希望能够使用密码编辑

/etc/ssh/sshd_config

找到PasswordAuthentication no并更改为yes

确保使用 sudo systemctl reload ssh 重新加载 ssh

您将能够在没有 ssh 密钥文件的情况下访问服务器

【讨论】:

    【解决方案2】:

    您似乎混合了“发送”端和“接收”端。

    当启动 SSH 连接时,您必须发送一个 SSH 密钥。这可以通过您展示的-i 选项来完成,也可以通过将数据存储在.ssh/config 中来将其配置为SSH alias

    Host foo
      User ec2-user
      HostName 54.1.2.3
      IdentityFile ~/xyz.pem
    

    然后这将启动与 ssh foo 的 SSH 会话。

    接收方面,公钥对必须存储在用户的~/.ssh/authorized_keys 文件中。当 Linux 收到通过 SSH 连接的请求时,它会检查该文件是否有匹配的密钥对。

    因此,看起来您在实例上做了正确的事情,但您需要在自己的计算机上使用配置文件。

    【讨论】:

      猜你喜欢
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 2019-11-24
      相关资源
      最近更新 更多