2017-08-09 133 views
0

我有vagrant运行scotchbox。我最近尝试将id_rsa.pub添加到/vagrant/home/.ssh,希望能够在不输入密码的情况下进行ssh操作。一旦我做到了,它的行为是一样的,所以我把它删除了。现在我正在给配置添加另一个站点,现在我无法做无极限配置,因为它给了我以下错误。vagrant provision ssh问题

SSH身份验证失败!这通常是由 访客虚拟机上未正确设置的SSH用户的公钥/私钥对导致的。请验证访客虚拟机是否安装了合适的公钥 ,并且Vagrant的私钥路径也正确设置为 。

下面是我从流浪汉的ssh-配置

HostName 127.0.0.1 
    User vagrant 
    Port 2222 
    UserKnownHostsFile /dev/null 
    StrictHostKeyChecking no 
    PasswordAuthentication no 
    IdentityFile "/Users/username/.vagrant.d/boxes/scotch-VAGRANTSLASH-box/3.0/virtualbox/vagrant_private_key" 
    IdentitiesOnly yes 
    LogLevel FATAL 

这里是我的无业游民文件中获取。

Vagrant.configure("2") do |config| 

    config.vm.box = "scotch/box" 
    config.vm.network "private_network", ip: "192.168.10.10" 
    config.vm.hostname = "scotchbox" 
    config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=775", "fmode=664"] 


config.vm.provider "virtualbox" do |v| 
     v.memory = 2048 
     v.cpus = 2 
    end 

    # Optional NFS. Make sure to remove other synced_folder line too 
    #config.vm.synced_folder ".", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=666"] } 


    config.vm.provision "shell", inline: <<-SHELL 

      ## Only thing you probably really care about is right here 
      DOMAINS=("site1.dev" "site2.dev" "site3.dev" "site4.dev" "site5.dev" "ai.d$ 

      ## Loop through all sites 
      for ((i=0; i < ${#DOMAINS[@]}; i++)); do 

       ## Current Domain 
       DOMAIN=${DOMAINS[$i]} 

       echo "Creating directory for $DOMAIN..." 
       mkdir -p /var/www/$DOMAIN/public 

       echo "Creating vhost config for $DOMAIN..." 
       sudo cp /etc/apache2/sites-available/scotchbox.local.conf /etc/apache2/si$ 

       echo "Updating vhost config for $DOMAIN..." 
       sudo sed -i s,scotchbox.local,$DOMAIN,g /etc/apache2/sites-available/$DOM$ 
sudo sed -i s,/var/www/public,/var/www/$DOMAIN/public,g /etc/apache2/site$ 

       echo "Enabling $DOMAIN. Will probably tell you to restart Apache..." 
       sudo a2ensite $DOMAIN.conf 

      done 

     SHELL 
end 

做无业游民时,直到它超时,但仍然盒开始和作品,我可以ssh到它与密码,我也得到验证错误。

我已经查看了很多其他问题,并尝试了一些东西,但似乎没有解决它。理想情况下,我想使用密钥ssh,但会解决只是为了回来,所以我可以配置它,并必须使用密码登录。

感谢

回答

0

我想通了这一点通过设置在我Vagrantfile以下使用,当它初始化的无业游民创建SSH密钥。

config.ssh.private_key_path = "/pathtovagrantfolder/.vagrant/machines/default/virtualbox/private_key"