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

时间:2018-05-10 10:47:04

标签: linux ssh vagrant ubuntu-16.04

我在 ssh username @ ip 执行ssh时出现权限被拒绝(公钥)错误,而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

我在终端上尝试 ssh ubuntu@192.168.33.71

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

6 个答案:

答案 0 :(得分:2)

请简要说明您的问题,从哪里到您的SSHing。如果您正在通过Vagrant框进行SSH连接..那么您必须在任何命令之前使用vagrant。如果只是流浪汉 ssh ubuntu@192.168.33.71 将无效。

vagrant ssh user @ vmmachine

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

authorized_keys的默认位置:

/home/ubuntu/.ssh/authorized_keys

答案 1 :(得分:2)

我猜如果您尝试使用@Anurag提到的vagrant ssh,就可以建立连接。

要解决Permission denied (publickey)错误,以便可以从主机中的任何位置SSH到框中,可以创建SSH密钥并将公用密钥复制到来宾上的文件中。 ssh-keygen您可以选​​择其他文件来保存密钥。 然后使用ssh-add <path to your key>添加身份。

答案 2 :(得分:1)

在与流浪者盒子的连接中使用私钥

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

答案 3 :(得分:1)

您可以选中this issue来解决问题。

答案 4 :(得分:0)

config.vm.provision:shell,:inline =>“ sudo sed -i's / PasswordAuthentication no / PasswordAuthentication yes / g'/ etc / ssh / sshd_config; sudo systemctl restart sshd;”,运行:“始终”

我能够使用上面的配置来解决

答案 5 :(得分:0)

假设您已经在主目录(在主机上)中拥有id_rsa.pub密钥,则可以像这样简单地配置Vagrantfile

config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "/home/vagrant/.ssh/id_rsa.pub"
config.vm.provision :shell, :inline => "cat /home/vagrant/.ssh/id_rsa.pub >> /home/vagrant/.ssh/authorized_keys", run: "always"

接下来,您将可以使用ssh vagrant@vm_ip_address ssh