ruby - Vagrant 机器无法通过 ssh 与我新创建的用户进行身份验证
问题描述
我的 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
感谢所有帮助:)
解决方案
我相信你必须在你的 Vagrant 机器上创建一个新用户。根据ssh.username设置的文档,听起来该设置实际上并没有创建用户。如果该框是使用vagrant以外的用户名制作的,它只会帮助您告诉 Vagrant 要连接的用户。
您可能需要useradd
在配置期间支付费用。
推荐阅读
- amazon-cloudformation - 使用 cloudformation 启动 Kinesis 数据分析应用程序
- r - 是否有一个 R 函数如何通过找到投资组合资产的最佳权重来最小化跟踪误差
- android - 在函数中的数组中添加值
- excel - 是否可以改善垃圾收集器的时间?
- pytorch - 如何使用 Mlflow 记录自定义 Pytorch 模型?
- python - 或 if 语句中的命令无法正常工作
- git - 合并位于git中不同目录的文件中的更改
- python - 制作了一个小rpg,但是如果不调用整个函数,就无法将一个函数中的变量值传递给另一个函数
- vue.js - 在请求成功时有条件地呈现 b-alert
- mysql - nodejs中mysql查询的意外标识符