gpt4 book ai didi

ubuntu - Vagrant 不会在自定义 Centos Box 上使用静态 IP 和身份验证失败

转载 作者:行者123 更新时间:2023-12-04 18:51:59 24 4
gpt4 key购买 nike

我从 chef/centos-6.6 创建了一个新的基础盒.在创建盒子时,一切都按预期工作。 IP 是正确的,我可以使用 vagrant ssh没有任何问题。然后我用 vagrant package --base vm_name --ouput devCentos-6.6.box 打包了我的盒子。并将其上传到我的 NAS。

我使用以下命令添加了该框:vagrant box add devCentos-6.6 http://10.1.1.120/boxes/devCentos-6.6.box
然后运行:vagrant init devCentos-6.6它生成了正确的 vagrantFile。

当我运行时:vagrant up我得到这个输出:

vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...

主持人是 Ubuntu 14.04.2 LTS客人是 Centos6.6
使用: VirtualBox 4.3.26 r98988Vagrant 1.7.2
我有 vb.gui = true因为我听说这似乎可以解决问题,但这里并非如此。当我使用 vagrant ssh我收到密码提示,而不是让我进入。

当我在 VM 中时,我运行了 ifconfig并注意到 IP 和网络掩码不正确。 IP为: 10.0.2.15并且网络掩码是: 255.255.255.0 service sshd status显示: openssh-daemon (pid 1082) is running... ss -tlnp显示:
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
LISTEN 0 128 :::22 :::* users:(("sshd",1082,4))
LISTEN 0 128 *:22 *:* users:(("sshd",1082,3))
LISTEN 0 100 ::1:25 :::* users:(("master",1314,13))
LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1314,12))
LISTEN 0 128 *:46201 *:* users:(("rpc.statd",945,8))
LISTEN 0 128 :::443 :::* users:(("httpd",1327,6),("httpd",1334,6),("httpd",1335,6),("httpd",1336,6),("httpd",1337,6),("httpd",1338,6),("httpd",1339,6),("httpd",1340,6),("httpd",1341,6))
LISTEN 0 128 :::43427 :::* users:(("rpc.statd",945,10))
LISTEN 0 50 *:3306 *:* users:(("mysqld",1219,10))
LISTEN 0 128 :::111 :::* users:(("rpcbind",925,11))
LISTEN 0 128 *:111 *:* users:(("rpcbind",925,8))
LISTEN 0 128 :::80 :::* users:(("httpd",1327,4),("httpd",1334,4),("httpd",1335,4),("httpd",1336,4),("httpd",1337,4),("httpd",1338,4),("httpd",1339,4),("httpd",1340,4),("httpd",1341,4))
ip addr show显示:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:6b:1c:dd brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
inet6 fe80::a00:27ff:fe6b:1cdd/64 scope link
valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 08:00:27:d5:43:2a brd ff:ff:ff:ff:ff:ff

我也尝试了这个我发现但没有运气的修复:
sed -i 's|NM_CONTROLLED=yes|NM_CONTROLLED=no|g' /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart

此外,当我能够解决 key 和网络问题时,我遇到了一个越​​来越多的问题:
jpsimkins@jpUbuntu:~/Vagrant/centos-6.6$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'olympusatDev-Centos-6.6'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos-66_default_1429641033222_17210
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if its present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
default: /vagrant => /home/jpsimkins/Vagrant/centos-6.6
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant

The error output from the last command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

guest 工具已安装。他们来自原始盒子(厨师)

我是 vagrant 的新手,所以我尽我所能来隔离这个问题。到目前为止,我在网上找到的所有内容都没有找到解决方案。希望这里有人可以帮助我隔离这一点。

如果您需要更多详细信息,请告诉我。

谢谢

我的 Vagrant 配置:
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
#config.vm.box = "chef/centos-6.6"

# Custom Box
config.vm.box = "devCentos-6.6"
config.vm.box_url = "http://10.1.1.120/boxes/devCentos-6.6.box"
config.vm.hostname = "jpCentos"


# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080

# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network "public_network", ip: "10.1.1.69", :netmask => "255.255.254.0", bridge: 'eth0'

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
config.vm.synced_folder "/home/jpsimkins/Sites", "/var/www/vhosts"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true

# Customize the amount of memory on the VM:vagrant
vb.memory = "1024"
end

end

最佳答案

好的,这就是我为解决所有问题所做的:

修复 key

sudo wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys

删除了网络规则
sudo rm /etc/udev/rules.d/70-persistent-net.rules

固定 guest 添加
mkdir /media/cdrom
sudo mount /dev/cdrom /media/cdrom
cd /media/cdrom
sudo ./VBoxLinuxAdditions.run
  • 注意:您需要从 VirtualBox
  • 挂载 Guest Additions CD

    新错误:我现在遇到 Apache 没有启动的问题,因为 Vagrant 挂载了共享文件夹(Apache 最初失败,因为挂载尚未挂载。)这似乎是一个常见问题,但我找不到太多关于如何解决这个问题的信息。

    修复 httpd 在重新加载时未启动

    我在安装共享文件夹后启动 httpd 的解决方案是解决 vagrant 事件: vagrant-mounted .我在 /etc/init 中创建了一个配置文件来处理这个。

    跑: sudo vi /etc/init/vagrant-mounted.conf
    将此添加到文件中:
    # Start httpd when the vagrant-mounted event is fired
    start on vagrant-mounted
    exec service httpd start

    现在一切都已修复,我创建了一个新盒子
    vagrant package --base VM_BOX_NAME --output olympusatDevEnv-Centos-6.6.box

    这解决了我的问题。希望其他人会发现这很有用。

    关于ubuntu - Vagrant 不会在自定义 Centos Box 上使用静态 IP 和身份验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29777841/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com