vagrant-digitalocean
vagrant-digitalocean copied to clipboard
provision ssh username set
Hello,
How can I change the SSH Username when provisioning? It appears to be hardcoded to 'root'...
In my vagrantfile I have set 'config.ssh.username = "freebsd" ', but when vagrant try to connect via SSH it seems to use username 'root':
INFO retryable: Retryable exception raised: #<RuntimeError: not ready> DEBUG ssh: Checking whether SSH is ready... INFO ssh: Attempting SSH connection... INFO ssh: Attempting to connect to SSH... INFO ssh: - Host: xxx.xxx.xxx.xxx INFO ssh: - Port: 22 INFO ssh: - Username: root INFO ssh: - Password? false INFO ssh: - Key Path: ["C:/Work/Dropbox/Dropbox/DigitalOcean/keys/ssh-prv-key .openssh"]
The 'vagrant ssh' works fine.
+1 Unfortunately is hardcoded. Here is my version: https://github.com/georgepoenaru/vagrant-digitalocean
Until will be merged you can use it like this:
$ gem install bundler
$ git clone [email protected]:georgepoenaru/vagrant-digitalocean.git
$ cd vagrant-digitalocean
$ bundle
$ bundle exec vagrant up --provider digital_ocean
+1. Here's a workaround that provisions with the value of config.ssh.username
$ vagrant up --provider digital_ocean --no-provision
$ vagrant provision
Just for kicks, I had my provision script spit out the environment. During vagrant up
the environment looks like this:
==> default: Running provisioner: shell...
default: Running: /var/folders/b8/rkpz3m117qzgpl4xg26c44l00000gn/T/vagrant-shell20150425-9071-mye5tt.sh
==> default: stdin: is not a tty
==> default: Printing environment seen by droplet...
==> default: HOME=/root
==> default: LANG=en_US.UTF-8
==> default: LOGNAME=root
==> default: MAIL=/var/mail/root
==> default: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
==> default: PWD=/root
==> default: SHELL=/bin/bash
==> default: SHLVL=3
==> default: SSH_CLIENT=98.249.9.52 56363 22
==> default: SSH_CONNECTION=98.249.9.52 56363 107.170.152.15 22
==> default: TERM=vt100
==> default: USER=root
==> default: _=/usr/bin/env
==> default: XDG_RUNTIME_DIR=/run/user/0
==> default: XDG_SESSION_ID=1
Whereas during vagrant provision
the environment looks like this:
==> default: Running provisioner: shell...
default: Running: /var/folders/b8/rkpz3m117qzgpl4xg26c44l00000gn/T/vagrant-shell20150425-9250-zsq81w.sh
==> default: Printing environment seen by droplet...
==> default: HOME=/home/ubuntu
==> default: LANG=en_US.UTF-8
==> default: LOGNAME=ubuntu
==> default: MAIL=/var/mail/ubuntu
==> default: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
==> default: PWD=/home/ubuntu
==> default: SHELL=/bin/bash
==> default: SHLVL=3
==> default: SSH_CLIENT=98.249.9.52 56681 22
==> default: SSH_CONNECTION=98.249.9.52 56681 107.170.152.15 22
==> default: TERM=vt100
==> default: USER=ubuntu
==> default: _=/usr/bin/env
==> default: XDG_RUNTIME_DIR=/run/user/1000
==> default: XDG_SESSION_ID=3
Please submit a pull request with your proposal.
+1