簡體   English   中英

Vagrant:權限被拒絕(公鑰)

[英]Vagrant : Permission denied (publickey)

I am getting Permission denied (publickey) error when doing ssh by ssh username@ip while ssh working when we are doing vagrant ssh

流浪文件:

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

出現錯誤:權限被拒絕(公鑰)

在與 vagrant box 的連接中使用私鑰

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

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.

總之,您的同步文件夾會覆蓋虛擬機中的 .ssh 文件夾,因此您無法使用 ssh 登錄。

答案來自這個問題

請簡要說明您的問題,從 SSH 連接到哪里。 如果您通過 Vagrant box 進行 SSHing.. 那么您總是必須在任何命令之前使用 vagrant。在 vagrant 的情況下,只有ssh ubuntu@192.168.33.71將不起作用。

流浪 ssh 用戶@vmmachine

如果您使用的是默認 vagrant 用戶以外的其他用戶,則必須將您的主機公鑰內容復制到來賓機器用戶的 authorized_keys 文件中。(僅當您使用 vagrant SSH 連接來賓機器時才使用)

authorized_keys 的默認位置:

/home/ubuntu/.ssh/authorized_keys

我猜如果你像@Anurag 提到的那樣嘗試vagrant ssh ,你就可以連接。

要修復Permission denied (publickey)錯誤,以便您能夠從主機中的任何位置通過 ssh 連接到該框,您可以創建一個 ssh 密鑰並將公鑰復制到來賓上的 authorised_keys 文件。 ssh-keygen您可以選擇不同的文件來保存密鑰。 然后使用ssh-add <path to your key>添加身份。

config.vm.provision :shell, :inline => "sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config; sudo systemctl restart sshd;", run: "always"

我能夠用上面的配置解決

假設您的主目錄(在主機上)中已經有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 vagrant@vm_ip_address

我對debian/jessie64盒子有同樣的問題。 我在 libvirt 上運行 Vagrant。 我嘗試了一切,但沒有任何幫助,然后我拿了centos/7盒子,一切都很好。 我想這與盒子本身中未正確配置的cloud-init有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM