Ubuntu SSH:权限被拒绝(公钥)

Ubuntu SSH:权限被拒绝(公钥),ubuntu,amazon-ec2,ssh,ansible,ubuntu-14.04,Ubuntu,Amazon Ec2,Ssh,Ansible,Ubuntu 14.04,我正在安装Ansible 在第2步中,他们要求我运行: cat ~/.ssh/id_rsa.pub 在Ansible服务器上复制粘贴到主机上的~/.ssh/authorized_密钥 首先,cat命令的输出为: cat:/home/ubuntu/.ssh/id\u rsa.pub:没有这样的文件或目录 因此,当我尝试使用ssh从Ansible服务器连接到主机时,我得到: 权限被拒绝(公钥) 需要考虑的几件事: 他们让我用它来安装两台Ubuntu18.04服务器。我是在主机上做的,但是Ansib

我正在安装Ansible

在第2步中,他们要求我运行:

cat ~/.ssh/id_rsa.pub
在Ansible服务器上复制粘贴到主机上的~/.ssh/authorized_密钥

首先,
cat
命令的输出为:

cat:/home/ubuntu/.ssh/id\u rsa.pub:没有这样的文件或目录

因此,当我尝试使用ssh从Ansible服务器连接到主机时,我得到:

权限被拒绝(公钥)

需要考虑的几件事:

  • 他们让我用它来安装两台Ubuntu18.04服务器。我是在主机上做的,但是Ansible服务器已经存在于Ubuntu 14.04上了
  • 我跳过了防火墙部分,假设它可以让所有端口都可以访问
  • 我不使用DigitalOcean,但两台机器都使用EC2(当然,在安全组中启用了端口22)
  • 在“Ubuntu 18.04初始服务器设置”指南中,他们犯了一个错误。他们要求我运行
    rsync
    命令,但他们忘记告诉我删除授权密钥文件的开头,如前所述
  • 我对这两台机器和所有用户使用相同的SSH密钥

  • 似乎没有防火墙问题,因为您可以连接到ssh。 用户“ubuntu”没有公钥。使用以下内容创建它:

     sudo su - ubuntu
     ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 
    

    现在,再次键入文件并将其放在服务器上

    备选方案:如果可用,也可以使用
    ssh copy id