やりたいこと
- rootユーザで公開鍵認証でログインしたい
-
~/.vagrant.d/insecure_key
を使いたい -
vagrant ssh
でログインしたい
環境
OSX 10.10
Vagrant 1.7.2
うまくいかなかった設定
Vagrantfile
Vagrant.configure(2) do |config|
config.vm.box = "chef/centos-7.0"
config.vm.network 'private_network', ip: '192.168.90.10'
config.cache.scope = :box if Vagrant.has_plugin? 'vagrant-cachier'
config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'false'
end
こんな設定を試しました。ssh.username
を指定するとrootでログインできるのですが、ssh.insert_key
がデフォルトでtrueなためログインに利用する鍵が指定できませんでした。falseにすると共通の鍵を使うようになりますが、/root/.ssh/
以下に公開鍵が入っておらず、/home/vagrant/.ssh
に入っている状態だったためログインができませんでした。
最終的に
Vagrantfile
Vagrant.configure(2) do |config|
config.vm.box = "chef/centos-7.0"
config.vm.network 'private_network', ip: '192.168.90.10'
config.cache.scope = :box if Vagrant.has_plugin? 'vagrant-cachier'
config.ssh.username = 'root'
config.ssh.insert_key = 'false'
config.vbguest.auto_update = false
config.vm.provision "shell", inline: <<-SHELL
sudo cat /home/vagrant/.ssh/authorized_keys >> /root/.ssh/authorized_keys
SHELL
end
provision
の指定をすることに。初回起動時にパスワード効かれますが、我慢します。。。一度起動したVMにvagrant ssh
でrootとして入りたいなと思ったことがあったので今回いろいろ試してみました。ssh.insert_key
をtrueにしてもよいなら起動時にパスワード聞かれることもないと思うので、使えるかもしれないですね。(参考に記載)
初回vagrant up
時にmountできないエラーが出る時があったので、config.vbguest.auto_update = false
を追記しました。
参考
Vagrant
Vagrant.configure(2) do |config|
config.vm.box = "chef/centos-7.0"
config.vm.network 'private_network', ip: '192.168.90.10'
config.cache.scope = :box if Vagrant.has_plugin? 'vagrant-cachier'
config.ssh.username = 'root'