親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。育児のイロハという育児サイト(https://ikujip.jp)の開発も行っているため、その開発で使用されている技術についても掲載しています。

Vagrantにssh 192.168.33.10でパスワードなしログイン

vagrantログインでパスワードを求められる

vagrantの起動をした後、

vagrant ssh

ではパスワードなしでログインできるのに、

ssh 192.168.33.10

だとパスワード入力を求められます。
これが上手くいかないと、chefとかansibleといったサーバ構成管理ツールを実行させる時に上手くいきません。
ただし、

ti-tomo-knowledge.hatenablog.com

のようにprovisionで実行させる場合は別です。
この場合はsshでつなぐ必要はありません。

vagrantsshで繋ぐための設定情報を追加

今回は実際に外部サーバに対してchefやらansibleを使うことをイメージしてplaybookを作りたいので、
sshvagrantに接続する方法を記します。
まずはVagrantfileで以下の行のコメントアウトが削除されていることを確認します。

config.vm.network "private_network", ip: "192.168.33.10"

次に「vagrant ssh-config」を入力して、vagrantsshで繋ぐための設定情報(コンフィグ情報)を確認します。
おそらく以下のように出力されるはずです。

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile vagrantがあるパス/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

後はこの設定値を「~/.ssh/config」に反映させれば大丈夫ですが、
そのためには以下コマンドを入力します。
vagrant ssh-config --host 192.168.33.10 >> ~/.ssh/config
もし「Permission denied」などのエラーが発生する場合は、
~/.sshディレクトリの権限などを確認してください。(700とかで良いみたいです。)
上手くいくと以下のようなメッセージが出力されます。

A Vagrant environment or target machine is required to run this
command. Run `vagrant init` to create a new Vagrant environment. Or,
get an ID of a target machine from `vagrant global-status` to run
this command on. A final option is to change to a directory with a
Vagrantfile and to try again.

これでパスワードなしで接続できるようになっているので、
ssh 192.168.33.10」を入力してください。

Fire TV Stick

Fire TV Stick

新登場  Fire TV Stick 4K - Alexa対応音声認識リモコン付属

新登場 Fire TV Stick 4K - Alexa対応音声認識リモコン付属

Fire HD 10 タブレット (10インチHDディスプレイ) 64GB

Fire HD 10 タブレット (10インチHDディスプレイ) 64GB