Help us understand the problem. What is going on with this article?

Vagrantで立ち上げた仮想環境にIPアドレスを振ってsshでログインする

More than 1 year has passed since last update.

この記事はMac向けです。他のOSの場合は、sshコマンド等別途準備してください。

事前準備

VirtualBoxのインストール

インストール後、起動してください。

Vagrantのインストール

インストール後、vagrantコマンドが使えるようになります。

$ vagrant --version
Vagrant 1.9.4

Vagrantプロジェクトの初期化からVM起動まで

適当な場所に作業ディレクトリを作成。場所と名前はどこでも可です。以下の説明は適当に読み替えてください。
今回の説明では、VMのOSにCentOS7を使います。他のOSを使う場合はここで探して下さい。

$ mkdir -p /your/directory/vm1
$ cd /your/directory/vm1

initコマンドで初期化します。Vagrantfileが作成されます。

$ vagrant init centos/7

VirtualBoxにVMを起動

$ vagrant up

スクリーンショット 2017-05-17 14.50.20.png

無事立ち上がったら、VMにvagrant sshでログインできます。ログアウトはexitです。

$ vagrant ssh

destroyコマンドで、VirtualBoxのVMを停止・削除できます。vm内での変更は破棄されます。

$ vagrant destroy

Vagrantで立ち上げたVMにディフォルト設定でsshでログイン

vagrant sshではなく、通常のsshコマンドでログインしてみます。

ssh-configコマンドで、SSH接続情報を確認できます。

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /your/directory/vm1/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

ディフォルトでは、ホストOSのport 2222に、VMのport 22がフォワードされています。このため、localhostのport 2222に対してsshでログインできます。選んだOSによってはUserがvagrant以外になっているかもしれません。

$ ssh -i /your/directory/vm1/.vagrant/machines/default/virtualbox/private_key -p 2222 vagrant@127.0.0.1
とか
$ ssh -i /your/directory/vm1/.vagrant/machines/default/virtualbox/private_key -p 2222 vagrant@localhost

[vagrant@localhost ~]$ 

su -でrootになる場合、パスワードはvagrantです。

VMに接続するポートを変えてsshログイン

ディフォルトの設定のままで2台目のVMを起動させると、port 2222にフォワードしようとして失敗するため、2223を割り振ってみます。
新しい作業ディレクトリを作って、vagrant initコマンドを実行し、作成されたVagrantfileをテキストエディタで開きます。

$ mkdir -p /your/directory/vm2
$ cd /your/directory/vm2
$ vagrant init centos/7
$ vi Vagrantfile

Vagrantfileに1行追加

config.vm.network "forwarded_port", guest: 22, host: 2223, id: "ssh"

vagrant upでVMを起動して、vagrant ssh-configで接続情報を確認すると、ポートが2223に変わっています。

$ vagrant up
$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2223
以下略

port 2223でsshログインできます。

$ ssh -i /your/directory/vm2/.vagrant/machines/default/virtualbox/private_key -p 2223 vagrant@localhost
[vagrant@xxx ~]$ 

VMにIPアドレスを振ってsshログイン

今度はVMにホストOSとは別の、IPアドレス割り振って、ホストOSからssh接続してみます。
また新しい作業ディレクトリを作成して、init後、Vagrantfileに1行追加します。

$ mkdir -p /your/directory/vm3
& cd /your/directory/vm3
$ vagrant init centos/7
$ vi Vagrantfile

Vagrantfileに1行追加します。192.168.10.2の所は環境に応じてかえてください。

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

VMに対してホストOSとは別のIPで、sshでログインできるようになりました。

$ vagrant up
$ ssh -i /your/directory/vm3/.vagrant/machines/default/virtualbox/private_key vagrant@192.168.10.2
[vagrant@xxx ~]$ 
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした