├── .gitignore ├── Makefile ├── README.md ├── build-iso ├── build-vagrant ├── build-vbox ├── clean-iso ├── clean-vagrant ├── clean-vbox ├── config.sh ├── isolinux.cfg ├── late_command.sh.m4 ├── sudoers ├── unattended.seed.m4 ├── vagrant └── vagrant.pub /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.iso 3 | mount 4 | ubuntu-*-server-* 5 | *-ubuntu-*-server-* 6 | *.box 7 | test* 8 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | 3 | clean: clean-lynx32 clean-lynxx32 clean-lynx64 clean-lynxx64 clean-meerkat32 clean-meerkat64 clean-narwhal32 clean-narwhal64 4 | 5 | lynx32: 6 | NICKNAME=lynx VERSION=10.04 ARCH=i386 ./build-iso 7 | NICKNAME=lynx VERSION=10.04 ARCH=i386 ./build-vbox 8 | NICKNAME=lynx VERSION=10.04 ARCH=i386 ./build-vagrant 9 | 10 | clean-lynx32: 11 | NICKNAME=lynx VERSION=10.04 ARCH=i386 ./clean-iso 12 | NICKNAME=lynx VERSION=10.04 ARCH=i386 ./clean-vbox || true 13 | NICKNAME=lynx VERSION=10.04 ARCH=i386 ./clean-vagrant 14 | 15 | lynxx32: 16 | NICKNAME=lynxx VERSION=10.04.2 ARCH=i386 ./build-iso 17 | NICKNAME=lynxx VERSION=10.04.2 ARCH=i386 ./build-vbox 18 | NICKNAME=lynxx VERSION=10.04.2 ARCH=i386 ./build-vagrant 19 | 20 | clean-lynxx32: 21 | NICKNAME=lynxx VERSION=10.04.2 ARCH=i386 ./clean-iso 22 | NICKNAME=lynxx VERSION=10.04.2 ARCH=i386 ./clean-vbox || true 23 | NICKNAME=lynxx VERSION=10.04.2 ARCH=i386 ./clean-vagrant 24 | 25 | lynx64: 26 | NICKNAME=lynx VERSION=10.04 ARCH=amd64 ./build-iso 27 | NICKNAME=lynx VERSION=10.04 ARCH=amd64 ./build-vbox 28 | NICKNAME=lynx VERSION=10.04 ARCH=amd64 ./build-vagrant 29 | 30 | clean-lynx64: 31 | NICKNAME=lynx VERSION=10.04 ARCH=amd64 ./clean-iso 32 | NICKNAME=lynx VERSION=10.04 ARCH=amd64 ./clean-vbox || true 33 | NICKNAME=lynx VERSION=10.04 ARCH=amd64 ./clean-vagrant 34 | 35 | lynxx64: 36 | NICKNAME=lynxx VERSION=10.04.2 ARCH=amd64 ./build-iso 37 | NICKNAME=lynxx VERSION=10.04.2 ARCH=amd64 ./build-vbox 38 | NICKNAME=lynxx VERSION=10.04.2 ARCH=amd64 ./build-vagrant 39 | 40 | clean-lynxx64: 41 | NICKNAME=lynxx VERSION=10.04.2 ARCH=amd64 ./clean-iso 42 | NICKNAME=lynxx VERSION=10.04.2 ARCH=amd64 ./clean-vbox || true 43 | NICKNAME=lynxx VERSION=10.04.2 ARCH=amd64 ./clean-vagrant 44 | 45 | meerkat32: 46 | NICKNAME=meerkat VERSION=10.10 ARCH=i386 ./build-iso 47 | NICKNAME=meerkat VERSION=10.10 ARCH=i386 ./build-vbox 48 | NICKNAME=meerkat VERSION=10.10 ARCH=i386 ./build-vagrant 49 | 50 | clean-meerkat32: 51 | NICKNAME=meerkat VERSION=10.10 ARCH=i386 ./clean-iso 52 | NICKNAME=meerkat VERSION=10.10 ARCH=i386 ./clean-vbox || true 53 | NICKNAME=meerkat VERSION=10.10 ARCH=i386 ./clean-vagrant 54 | 55 | meerkat64: 56 | NICKNAME=meerkat VERSION=10.10 ARCH=amd64 ./build-iso 57 | NICKNAME=meerkat VERSION=10.10 ARCH=amd64 ./build-vbox 58 | NICKNAME=meerkat VERSION=10.10 ARCH=amd64 ./build-vagrant 59 | 60 | clean-meerkat64: 61 | NICKNAME=meerkat VERSION=10.10 ARCH=amd64 ./clean-iso 62 | NICKNAME=meerkat VERSION=10.10 ARCH=amd64 ./clean-vbox || true 63 | NICKNAME=meerkat VERSION=10.10 ARCH=amd64 ./clean-vagrant 64 | 65 | narwhal32: 66 | NICKNAME=narwhal VERSION=11.04 ARCH=i386 ./build-iso 67 | NICKNAME=narwhal VERSION=11.04 ARCH=i386 ./build-vbox 68 | NICKNAME=narwhal VERSION=11.04 ARCH=i386 ./build-vagrant 69 | 70 | clean-narwhal32: 71 | NICKNAME=narwhal VERSION=11.04 ARCH=i386 ./clean-iso 72 | NICKNAME=narwhal VERSION=11.04 ARCH=i386 ./clean-vbox || true 73 | NICKNAME=narwhal VERSION=11.04 ARCH=i386 ./clean-vagrant 74 | 75 | narwhal64: 76 | NICKNAME=narwhal VERSION=11.04 ARCH=amd64 ./build-iso 77 | NICKNAME=narwhal VERSION=11.04 ARCH=amd64 ./build-vbox 78 | NICKNAME=narwhal VERSION=11.04 ARCH=amd64 ./build-vagrant 79 | 80 | clean-narwhal64: 81 | NICKNAME=narwhal VERSION=11.04 ARCH=amd64 ./clean-iso 82 | NICKNAME=narwhal VERSION=11.04 ARCH=amd64 ./clean-vbox || true 83 | NICKNAME=narwhal VERSION=11.04 ARCH=amd64 ./clean-vagrant 84 | 85 | .PHONY: all lynx32 clean-lynx32 lynx64 clean-lynx64 meerkat32 clean-meerkat32 meerkat64 clean-meerkat64 clean-narwhal32 clean-narwhal64 86 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Ubuntu for DevStructure 2 | ======================= 3 | 4 | Build a custom Ubuntu ISO for Vagrant by downloading, extracting, 5 | tweaking, and packaging the stock Ubuntu ISO. 6 | 7 | Build dependencies 8 | ------------------ 9 | 10 | * `curl`(1). 11 | * `hdiutil`(1), and therefore Mac OS X. It may be possible to relax 12 | this dependency but it has not been investigated. 13 | * `m4`(1). 14 | * `mkisofs`(1) from the `cdrtools` package available from MacPorts or 15 | Homebrew. 16 | 17 | Runtime dependencies 18 | -------------------- 19 | 20 | The results are bootable ISO images and so should run on any `i386` or 21 | `amd64` hardware. They are only tested in VirtualBox. 22 | 23 | Features in the ISO 24 | ------------------- 25 | 26 | * Network access is configured using sane default settings. WiFi is 27 | not supported. 28 | * The hostname is `vagrant`; the domain is `vagrantup.com`. These 29 | are configurable. 30 | * The system clock is set to UTC. 31 | * The entire disk is partitioned `ext4` without LVM. 32 | * The default kernel for the architecture is used. `linux-server` for 33 | `amd64` and `linux-generic-pae` for `i386`. 34 | * The `root` and `vagrant` users exist; both their password are `vagrant`. 35 | Vagrant's standard insecure SSH key is authorized for `vagrant`. These 36 | are all configurable. 37 | * OpenSSH server is installed. 38 | * VirtualBox Guest Additions are installed. 39 | 40 | Building 41 | -------- 42 | 43 | Building ISO images: 44 | 45 | ./build-iso 46 | 47 | Building virtual machines through VirtualBox: 48 | 49 | ./build-vbox 50 | 51 | Building Vagrant boxes: 52 | 53 | ./build-vagrant 54 | 55 | There are matching `clean-{iso,vbox,vagrant}` programs that remove the 56 | products of their build counterparts. 57 | 58 | The `Makefile` contains targets for common build tasks. 59 | -------------------------------------------------------------------------------- /build-iso: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . "$(dirname $0)/config.sh" 6 | 7 | ORIG="ubuntu-$VERSION-$DISTRO-$ARCH.iso" 8 | COPY="ubuntu-$VERSION-$DISTRO-$ARCH" 9 | ISO="$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH.iso" 10 | 11 | # Download the original ISO if it isn't present already. 12 | [ -f "$ORIG" ] || curl -L -o "$ORIG" \ 13 | -d distro="$DISTRO" \ 14 | -d release="$RELEASE" \ 15 | -d bits="$([ "$ARCH" = "i386" ] && echo 32 || echo 64)" \ 16 | "http://www.ubuntu.com/start-download" 17 | 18 | # Make a writable copy of the original ISO. 19 | { 20 | # os x 21 | sudo /usr/libexec/vndevice attach /dev/vn0 "$ORIG" 22 | sudo mount -t cd9660 /dev/vn0 "mount" 23 | } || { 24 | # linux 25 | rm -rf "mount" 26 | mkdir "mount" 27 | sudo mount -o loop "$ORIG" "mount" 28 | } 29 | rsync -a "mount/" "$COPY" 30 | { 31 | sudo diskutil unmount "mount" 32 | sudo /usr/libexec/vndevice detach /dev/vn0 33 | } || { 34 | sudo umount "mount" 35 | rm -rf "mount" 36 | } 37 | chmod -R +w "$COPY" 38 | 39 | # Customize the writable copy. 40 | cp "isolinux.cfg" "$COPY/isolinux/" 41 | m4 \ 42 | -D __HOST__="$HOST" \ 43 | -D __DOMAIN__="$DOMAIN" \ 44 | -D __KERNEL__="linux-$([ "$ARCH" = "i386" ] \ 45 | && echo generic-pae \ 46 | || echo server 47 | )" \ 48 | -D __ROOT_PASSWORD__="$ROOT_PASSWORD" \ 49 | -D __USERNAME__="$USERNAME" \ 50 | -D __PASSWORD__="$PASSWORD" \ 51 | "unattended.seed.m4" >"$COPY/preseed/unattended.seed" 52 | cp "$PUBLIC_KEY" "sudoers" "$COPY/" 53 | m4 \ 54 | -D __USERNAME__="$USERNAME" \ 55 | -D __PUBLIC_KEY__="$PUBLIC_KEY" \ 56 | "late_command.sh.m4" >"$COPY/late_command.sh" 57 | 58 | # Build a custom ISO. 59 | mkisofs -r -V "Ubuntu $VERSION for Vagrant" \ 60 | -cache-inodes -J -l -no-emul-boot \ 61 | -b isolinux/isolinux.bin \ 62 | -c isolinux/boot.cat \ 63 | -boot-load-size 4 -boot-info-table \ 64 | -o "$ISO" "$COPY" 65 | -------------------------------------------------------------------------------- /build-vagrant: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . "$(dirname $0)/config.sh" 6 | 7 | VBOX="$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH" 8 | 9 | # Start the virtual machine. Spin slowly until SSH is usable. 10 | VBoxManage startvm "$VBOX" --type gui 11 | #VBoxHeadless --startvm "$VBOX" --vrdp config 12 | until eval "$SSH exit" 13 | do 14 | sleep 1 15 | done 16 | 17 | # Install Ruby, RubyGems, and Chef as Vagrant requires. 18 | # eval "$SSH \" 19 | # set -e 20 | # sudo apt-get -y install build-essential ruby-dev rubygems 21 | # sudo gem install --no-rdoc --no-ri chef 22 | # echo 'PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/gems/1.8/bin\"' | sudo tee /etc/environment >/dev/null 23 | # \"" 24 | 25 | # Shutdown the virtual machine. 26 | eval "$SSH \"sudo shutdown -h now\"" 27 | until VBoxManage showvminfo "$VBOX" | grep "^State: *powered off" 28 | do 29 | sleep 1 30 | done 31 | 32 | # Now build the Vagrant box file. 33 | vagrant package --base "$VBOX" 34 | mv "package.box" \ 35 | "$NICKNAME$([ "$ARCH" = "i386" ] && echo 32 || echo 64).box" 36 | 37 | # Creating Vagrant boxes ruins the normal VM setup so get rid of them. 38 | eval "$(dirname $0)/clean-vbox" 39 | -------------------------------------------------------------------------------- /build-vbox: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . "$(dirname $0)/config.sh" 6 | 7 | ISO="$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH.iso" 8 | VBOX="$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH" 9 | 10 | # Create and configure a virtual machine through VirtualBox. 11 | VBoxManage createvm \ 12 | --name "$VBOX" \ 13 | --basefolder "$PWD" \ 14 | --register \ 15 | || true 16 | VBoxManage modifyvm "$VBOX" \ 17 | --ostype "Ubuntu$([ "$ARCH" = "i386" ] || echo _64)" \ 18 | --memory 360 \ 19 | --vram 12 \ 20 | --acpi on --ioapic on \ 21 | --cpus 1 \ 22 | --pae "$([ "$ARCH" = "i386" ] && echo on || echo off)" \ 23 | --hwvirtex on \ 24 | --hwvirtexexcl off \ 25 | --nestedpaging on \ 26 | --accelerate3d off \ 27 | --nic1 nat \ 28 | --natpf1 guestssh,tcp,,"$SSH_PORT",,22 \ 29 | --audio none \ 30 | --clipboard disabled \ 31 | --usb off --usbehci off \ 32 | --vrde off \ 33 | --teleporter off 34 | 35 | # Mount a virtual hard disk. 36 | VBoxManage createhd \ 37 | --filename "$PWD/$VBOX/$VBOX.vmdk" \ 38 | --size 40000 \ 39 | --format VMDK \ 40 | || true 41 | VBoxManage storagectl "$VBOX" \ 42 | --name SATA \ 43 | --add sata 44 | VBoxManage storageattach "$VBOX" \ 45 | --storagectl SATA \ 46 | --port 0 --device 0 \ 47 | --type hdd --medium "$PWD/$VBOX/$VBOX.vmdk" 48 | 49 | # "Insert" install iso into virtual cd drive 50 | VBoxManage storageattach "$VBOX" \ 51 | --storagectl SATA \ 52 | --port 1 --device 0 \ 53 | --type dvddrive --medium "$PWD/$ISO" 54 | 55 | 56 | # Start the virtual machine and the OS installation. This will take 57 | # a while so this time it gets a GUI. Spin slowly until SSH is usable. 58 | VBoxManage startvm "$VBOX" --type gui 59 | echo "Waiting for installion to finish.." 60 | until eval "$SSH exit" 61 | do 62 | sleep 60 63 | done 64 | 65 | # Attach the VBoxGuestAdditions ISO, implicitly detaching the custom 66 | # installation ISO in the process. Install the additions and empty 67 | # the drive. 68 | VBoxManage storageattach "$VBOX" \ 69 | --storagectl SATA \ 70 | --port 1 --device 0 \ 71 | --type dvddrive --medium "$VBOX_GUEST_ADDITIONS" 72 | eval "$SSH \" 73 | set -e 74 | sudo apt-get -y install linux-headers-\\\$(uname -r) build-essential 75 | until sudo mount /dev/cdrom /media/cdrom 76 | do 77 | sleep 1 78 | done 79 | sudo /media/cdrom/VBoxLinuxAdditions.run 80 | sudo umount /media/cdrom 81 | \"" 82 | VBoxManage storageattach "$VBOX" \ 83 | --storagectl SATA \ 84 | --port 1 --device 0 \ 85 | --type dvddrive --medium emptydrive 86 | 87 | # Shutdown the virtual machine. 88 | eval "$SSH \"sudo shutdown -h now\"" 89 | until VBoxManage showvminfo "$VBOX" | grep "^State: *powered off" 90 | do 91 | sleep 1 92 | done 93 | -------------------------------------------------------------------------------- /clean-iso: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . "$(dirname $0)/config.sh" 6 | 7 | rm -f "$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH.iso" 8 | -------------------------------------------------------------------------------- /clean-vagrant: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . "$(dirname $0)/config.sh" 6 | 7 | rm -f "$NICKNAME$([ "$ARCH" = "i386" ] && echo 32 || echo 64).box" 8 | -------------------------------------------------------------------------------- /clean-vbox: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # set -e # Try our best to finish here. 4 | 5 | . "$(dirname $0)/config.sh" 6 | 7 | ISO="$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH.iso" 8 | VBOX="$NICKNAME-ubuntu-$VERSION-$DISTRO-$ARCH" 9 | 10 | VBoxManage controlvm "$VBOX" poweroff 11 | VBoxManage storagectl "$VBOX" --name IDE --remove 12 | VBoxManage storagectl "$VBOX" --name SATA --remove 13 | VBoxManage unregistervm "$VBOX" 14 | VBoxManage closemedium dvd "$PWD/$ISO" 15 | VBoxManage closemedium disk "$PWD/$VBOX/$VBOX.vmdk" 16 | rm -rf "$VBOX" 17 | -------------------------------------------------------------------------------- /config.sh: -------------------------------------------------------------------------------- 1 | # 2 | 3 | # The nickname of this ISO, VirtualBox image, and Vagrant box. 4 | : ${NICKNAME:="vagrant"} 5 | 6 | # Arguments given to the download router. 7 | : ${VERSION:="10.10"} 8 | : ${DISTRO:="server"} 9 | : ${RELEASE:="latest"} 10 | 11 | # Architecture being built (i386 or amd64). 12 | : ${ARCH:="i386"} 13 | 14 | # Hardcoded host information. 15 | : ${HOST:="vagrant"} 16 | : ${DOMAIN:="vagrantup.com"} 17 | : ${ROOT_PASSWORD:="vagrant"} 18 | : ${USERNAME:="vagrant"} 19 | : ${PASSWORD:="vagrant"} 20 | 21 | # SSH key to be authorized in virtual machines. 22 | : ${PRIVATE_KEY:="vagrant"} 23 | chmod 600 "$PRIVATE_KEY" 24 | : ${PUBLIC_KEY:="vagrant.pub"} 25 | 26 | # SSH command that will connect to the virtual machine. Add commands 27 | # onto the end to do other tricks. 28 | : ${SSH_PORT:="22222"} 29 | : ${SSH:="ssh \ 30 | -o UserKnownHostsFile=/dev/null \ 31 | -o StrictHostKeyChecking=no \ 32 | -l \"$USERNAME\" -i \"$PRIVATE_KEY\" -p \"$SSH_PORT\" localhost \ 33 | "} 34 | 35 | # Fully-qualified pathname of VBoxGuestAdditions.iso. 36 | : ${VBOX_GUEST_ADDITIONS:="/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso"} 37 | -------------------------------------------------------------------------------- /isolinux.cfg: -------------------------------------------------------------------------------- 1 | default vagrant 2 | timeout 1 3 | label vagrant 4 | menu label ^Install Ubuntu Server for Vagrant 5 | kernel /install/vmlinuz 6 | append file=/cdrom/preseed/unattended.seed debian-installer/locale=en_US console-setup/layoutcode=us keyboard-configuration/layoutcode=us console-setup/ask_detect=false localechooser/translation/warn-light=true localechooser/translation/warn-severe=true initrd=/install/initrd.gz quiet -- 7 | -------------------------------------------------------------------------------- /late_command.sh.m4: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | mkdir /target/home/__USERNAME__/.ssh 4 | cat /cdrom/__PUBLIC_KEY__ >/target/home/__USERNAME__/.ssh/authorized_keys 5 | chmod 700 /target/home/__USERNAME__/.ssh 6 | chown 1000:1000 \ 7 | /target/home/__USERNAME__/.ssh \ 8 | /target/home/__USERNAME__/.ssh/authorized_keys 9 | 10 | cp /cdrom/sudoers /target/etc/ 11 | chmod 440 /target/etc/sudoers 12 | chown 0:0 /target/etc/sudoers 13 | -------------------------------------------------------------------------------- /sudoers: -------------------------------------------------------------------------------- 1 | Defaults !env_reset 2 | Defaults !secure_path 3 | 4 | ALL ALL=(ALL) NOPASSWD: ALL 5 | -------------------------------------------------------------------------------- /unattended.seed.m4: -------------------------------------------------------------------------------- 1 | # Preseed Ubuntu for Vagrant. 2 | 3 | # Network. 4 | d-i netcfg/get_hostname string __HOST__ 5 | d-i netcfg/get_domain string __DOMAIN__ 6 | d-i netcfg/wireless_wep string 7 | 8 | # Clock. 9 | d-i clock-setup/utc boolean true 10 | d-i time/zone string UTC 11 | 12 | # Partitions. 13 | d-i partman-auto/disk string /dev/sda 14 | d-i partman-auto/method string regular 15 | d-i partman-lvm/device_remove_lvm boolean true 16 | d-i partman-md/device_remove_md boolean true 17 | d-i partman-auto/choose_recipe select atomic 18 | d-i partman/default_filesystem string ext4 19 | d-i partman/confirm_write_new_label boolean true 20 | d-i partman/choose_partition select finish 21 | d-i partman/confirm boolean true 22 | d-i partman/confirm_nooverwrite boolean true 23 | 24 | # Kernel. 25 | d-i base-installer/kernel/override-image string __KERNEL__ 26 | 27 | # Users. 28 | d-i passwd/root-password password __ROOT_PASSWORD__ 29 | d-i passwd/root-password-again password __ROOT_PASSWORD__ 30 | d-i passwd/user-uid string 1000 31 | d-i passwd/user-fullname string Vagrant 32 | d-i passwd/username string __USERNAME__ 33 | d-i passwd/user-password password __PASSWORD__ 34 | d-i passwd/user-password-again password __PASSWORD__ 35 | d-i user-setup/allow-password-weak boolean true 36 | d-i user-setup/encrypt-home boolean false 37 | 38 | # Packages and repositories. 39 | d-i mirror/http/proxy string 40 | tasksel tasksel/first multiselect 41 | d-i pkgsel/include string curl openssh-server 42 | d-i pkgsel/update-policy select none 43 | d-i pkgsel/install-language-support boolean false 44 | 45 | # Grub and reboot. 46 | d-i grub-installer/only_debian boolean true 47 | d-i grub-installer/with_other_os boolean true 48 | d-i finish-install/reboot_in_progress note 49 | d-i cdrom-detect/eject boolean true 50 | d-i debian-installer/splash boolean false 51 | 52 | # Everything else. 53 | d-i preseed/late_command string sh /cdrom/late_command.sh 54 | -------------------------------------------------------------------------------- /vagrant: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzI 3 | w+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoP 4 | kcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2 5 | hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NO 6 | Td0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcW 7 | yLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQIBIwKCAQEA4iqWPJXtzZA68mKd 8 | ELs4jJsdyky+ewdZeNds5tjcnHU5zUYE25K+ffJED9qUWICcLZDc81TGWjHyAqD1 9 | Bw7XpgUwFgeUJwUlzQurAv+/ySnxiwuaGJfhFM1CaQHzfXphgVml+fZUvnJUTvzf 10 | TK2Lg6EdbUE9TarUlBf/xPfuEhMSlIE5keb/Zz3/LUlRg8yDqz5w+QWVJ4utnKnK 11 | iqwZN0mwpwU7YSyJhlT4YV1F3n4YjLswM5wJs2oqm0jssQu/BT0tyEXNDYBLEF4A 12 | sClaWuSJ2kjq7KhrrYXzagqhnSei9ODYFShJu8UWVec3Ihb5ZXlzO6vdNQ1J9Xsf 13 | 4m+2ywKBgQD6qFxx/Rv9CNN96l/4rb14HKirC2o/orApiHmHDsURs5rUKDx0f9iP 14 | cXN7S1uePXuJRK/5hsubaOCx3Owd2u9gD6Oq0CsMkE4CUSiJcYrMANtx54cGH7Rk 15 | EjFZxK8xAv1ldELEyxrFqkbE4BKd8QOt414qjvTGyAK+OLD3M2QdCQKBgQDtx8pN 16 | CAxR7yhHbIWT1AH66+XWN8bXq7l3RO/ukeaci98JfkbkxURZhtxV/HHuvUhnPLdX 17 | 3TwygPBYZFNo4pzVEhzWoTtnEtrFueKxyc3+LjZpuo+mBlQ6ORtfgkr9gBVphXZG 18 | YEzkCD3lVdl8L4cw9BVpKrJCs1c5taGjDgdInQKBgHm/fVvv96bJxc9x1tffXAcj 19 | 3OVdUN0UgXNCSaf/3A/phbeBQe9xS+3mpc4r6qvx+iy69mNBeNZ0xOitIjpjBo2+ 20 | dBEjSBwLk5q5tJqHmy/jKMJL4n9ROlx93XS+njxgibTvU6Fp9w+NOFD/HvxB3Tcz 21 | 6+jJF85D5BNAG3DBMKBjAoGBAOAxZvgsKN+JuENXsST7F89Tck2iTcQIT8g5rwWC 22 | P9Vt74yboe2kDT531w8+egz7nAmRBKNM751U/95P9t88EDacDI/Z2OwnuFQHCPDF 23 | llYOUI+SpLJ6/vURRbHSnnn8a/XG+nzedGH5JGqEJNQsz+xT2axM0/W/CRknmGaJ 24 | kda/AoGANWrLCz708y7VYgAtW2Uf1DPOIYMdvo6fxIB5i9ZfISgcJ/bbCUkFrhoH 25 | +vq/5CIWxCPp0f85R4qxxQ5ihxJ0YDQT9Jpx4TMss4PSavPaBH3RXow5Ohe+bYoQ 26 | NE5OgEXk2wVfZczCZpigBKbKZHNYcelXtTt/nP3rsCuGcM4h53s= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /vagrant.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== Vagrant insecure public key 2 | --------------------------------------------------------------------------------