我在 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
获取错误:权限被拒绝(公钥)
答案 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