流浪汉:权限被拒绝(公钥)

its*_*vks 7 linux ssh vagrant ubuntu-16.04

我在ssh用户名@ ip执行ssh 时遇到权限被拒绝(publickey)错误ssh工作时我们正在做vagrant ssh

VagrantFile:

Vagrant.configure("2") do |config|
 config.vm.box = "ubuntu/xenial64"
 config.vm.network "forwarded_port", guest: 80, host: 8071
 config.vm.network "private_network", ip: "192.168.33.71"
end
Run Code Online (Sandbox Code Playgroud)

我在终端上尝试ssh ubuntu@192.168.33.71

获取错误:权限被拒绝(publickey)

小智 9

在与 vagrant box 的连接中使用私钥

ssh -i .vagrant/machines/default/virtualbox/private_key vagrant@192.168.33.71


Dca*_*sky 7

config.vm.synced_folder '.' and '/home/vagrant/' caused this problem.
Because the configure makes home directory on the host overwritten and destroy .ssh settings on the host.
I got the same problem a few seconds ago. I checked the .ssh was overwritten by Vagrant GUI.
Run Code Online (Sandbox Code Playgroud)

总之,您的同步文件夹覆盖了虚拟机中的 .ssh 文件夹,因此您无法使用 ssh 登录。

答案来自这个问题


Anu*_*ame 5

请简要说明您的问题,以及您从何处进行 SSH 连接。如果你通过 Vagrant box 进行 SSH 连接..那么你总是必须在任何命令之前使用 vagrant。在 vagrant 的情况下,只有ssh ubuntu@192.168.33.71将不起作用。

流浪者 ssh 用户@vmmachine

如果您使用默认 vagrant 用户以外的其他用户,则必须将主机公钥内容复制到来宾机用户的authorized_keys 文件中。(仅当您使用 vagrant 通过 SSH 连接到来宾机时才使用)

授权密钥的默认位置:

/home/ubuntu/.ssh/authorized_keys