流浪汉提供ssh问题

时间:2017-08-09 19:53:01

标签: ssh vagrant ssh-keys

我有流浪汉运行苏格兰威士忌。我最近尝试将id_rsa.pub添加到/vagrant/home/.ssh,希望能够在不输入密码的情况下进行ssh。一旦我这样做,它的行为相同,所以我删除它。现在我在配置中添加了另一个站点,现在我无法进行流浪汉配置,因为它会给我以下错误。

  

SSH身份验证失败!这通常是由   没有正确设置SSH用户的公钥/私钥对   来宾VM。请验证是否已正确设置来宾VM   公钥,并设置Vagrant的私钥路径   也适当。

以下是我从vagrant ssh-config

获得的内容
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使用密钥,但只会回来,所以我可以配置它,并且必须使用密码登录。

谢谢

1 个答案:

答案 0 :(得分:0)

我通过在我的Vagrantfile中设置以下内容来解决这个问题,以使用vagrant在初始化时创建的ssh密钥。

config.ssh.private_key_path = "/pathtovagrantfolder/.vagrant/machines/default/virtualbox/private_key"
相关问题