Vagrant машина не может аутентифицироваться с моим вновь созданным пользователем через ssh - PullRequest
0 голосов
/ 12 сентября 2018

Мой vagrantfile выглядит так:

# -*- mode: ruby -*-
# vi: set ft=ruby :

vagrant_home = "/home/vagrant/"
local_share = "#{ENV['HOME']}"

unless Vagrant.has_plugin?("vagrant-vbguest")
  puts "Vagrant plugin 'vagrant-vbguest' is not installed!"
  puts "Execute: vagrant plugin install vagrant-vbguest"
end

unless Vagrant.has_plugin?("vagrant-sshfs")
  puts "Vagrant plugin 'vagrant-sshfs' is not installed!"
  puts "Execute: vagrant plugin install vagrant-sshfs"
end

Vagrant.configure("2") do |stage|
    stage.vm.box = "centos/7"
    stage.vm.hostname = "HSS-IAAS-VB"
    stage.vm.box_check_update = true
    stage.vm.network "private_network", :type => 'dhcp'
    stage.vm.provider "virtualbox" do |vb|
      vb.name = "centos7-dev"
      vb.gui = false
      vb.memory = "1024"
    stage.ssh.keys_only = false
    stage.ssh.username = "#{ENV['USER']}"
    stage.ssh.forward_agent    = true
    stage.ssh.insert_key       = true
    stage.ssh.private_key_path =  "#{ENV['HOME']}/.ssh/id_rsa" , "/home/#{ENV['USER']}/.ssh/id_rsa
    stage.vm.provision :shell, privileged: false do |s|
      ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
      s.inline = <<-SHELL
        echo #{ssh_pub_key} >> #{ENV['home']}.ssh/authorized_keys
        sudo bash -c \"echo #{ssh_pub_key} >> #{ENV['home']}/.ssh/authorized_keys\"
      SHELL
    end
  end
end

Моя проблема в том, что когда я запускаю этот vagrantfile, я получаю сообщение об ошибке: default: Warning: Authentication failure. Retrying..., и если я запускаю в режиме отладки, я просто вижу кучу тайм-аутов ..

Все, что я пытаюсь сделать, это вместо того, чтобы создавать «бродячего» пользователя, я хочу создать пользователя, который совпадает с пользователем на хост-компьютере, с помощью #{ENV['USER']} и позволить пользователю немедленно иметь возможность запустите vagrant ssh, и если его хост-пользователь test.user, то гостевым пользователем будет test.user ..

vagrant ssh-config было:

Host default
  HostName 127.0.0.1
  User aaron.west
  Port 2200
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/aaron.west/.ssh/id_rsa
  IdentityFile /Users/aaron.west/.ssh/id_rsa
  LogLevel FATAL

вся помощь приветствуется:)

1 Ответ

0 голосов
/ 12 сентября 2018

Я полагаю, вам придется создать нового пользователя на вашей машине Vagrant.Согласно документации для параметра ssh.username , это не похоже на то, что этот параметр фактически создает пользователя.Это только поможет вам сообщить Vagrant, к какому пользователю подключаться, если ящик был создан с именем пользователя, отличным от vagrant .

. Вероятно, во время предоставления вам нужно будет выполнить оболочку до useradd.

...