ssh 接続にはパスワード認証方式と、公開鍵認証の二通りの接続方法がある。
公開鍵認証
- vagrantでは、ゲストOSの初回起動時にホストOS側の鍵情報を自動で変更し、ゲストOSと暗号の再調整を行っている。
vagrant ssh
は
vagrant ssh-config
で置換後に使う秘密鍵ファイルの場所を取得し、
ssh -p [ポート番号] -l vagrant -i /path/to/private_key [IPアドレス]
で同じことができる。
もしくは、起動時に置き換えないように設定。Vagrantfileに以下の一行を追加する。
config.ssh.insert_key = false
複数のマシンで共通のsshキーを使用したい場合なんかはこうしないといけない。
ssh コマンドで秘密鍵ファイルの場所を~/.ssh/config
中に追記しておけば、明示的に指定する必要はなくなる。
vagrant ssh-config >> ~/.ssh/config
公開鍵の生成
ssh-keygen -t rsa
公開鍵の.ssh/authorized_keys
へのコピー
ssh-copy-id root@192.168.100.20
パスワード認証
- パスワード認証の場合、Vagrantfile中でパスワードとユーザー名を設定できる。
config.ssh.username = 'vagrant' config.ssh.password = 'vagrant'