環境
- ホストPC: Mac
- CentOS ver : 6.5
- 仮想環境: VirtualBox
仮想環境設定
CentOS 仮想マシンを構築する
作業ディレクトリを作成する
cd
mkdir Workspace
cd Workspace
-
boxファイルのURLを入手する
- http://www.vagrantbox.es/ へアクセスする – search: centos 6.5で検索
- CentOS 6.5 x86_64のURLをコピーする
-
vagrantコマンドでboxを追加する
vagrant box add centos65 "コピーしたURL" (ダウンロードが始まるので時間かかります)
- Vagrantfileを生成する
vagrant init centos65
CentOS 仮想マシンを構築する
- Vagrantfileをカスタマイズする
sudo vi Vagrantfile
お好みで
- CentO仮想マシンを作成する
vagrant up
- CentOS仮想マシンに接続する
vagrant ssh
秘密鍵、公開鍵設定
公開鍵の転送
vagrant ssh-config # port番号を確認(Mac環境で行う)
scp -P port番号 -i ~/.ssh/秘密鍵ファイル ~/.ssh/公開鍵ファイル 仮想マシン:仮想マシンのディレクトリ/転送先でのファイル名
転送した鍵とMac環境が同じか確認
- Mac環境
ssh-keygen -vlf ~/.ssh/公開鍵ファイル
- 仮想環境
vagrant ssh
ssh-keygen -vlf ~/.ssh/公開鍵ファイル
上記を比較して確認する
Vagrantfileに秘密鍵のパスを設定する
config.ssh.private_key_path = "~/.ssh/秘密鍵ファイル"
vagrant reload
公開鍵と秘密鍵でssh接続できる事を確認
Macから仮想環境にアクセスをできるか確認をする
vagrant ssh
password認証をできなくしたい場合
- パスワードが設定されていないアカウントを拒否する
/etc/ssh/sshd_configを指定
PermitEmptyPasswords no
パスワード認証方式を無効にする
/etc/ssh/sshd_configを指定
PasswordAuthentication no
sshの再起動
sudo /etc/rc.d/init.d/sshd restart
これでパスワード認証ができなくなり、秘密鍵、公開鍵によるログインしかできなくなります
補足
portがほかのアプリで使われているため利用できない場合
The forwarded port to 8080 is already in use
Vagrantfileにてポート番号の変更を行う
config.vm.network "forwarded_port", guest: 80, host: 8080 #<-ここを変更
sshログインするときに、localeで警告がでる場合
warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
Macにて
# SendEnv LANG LC_*
一旦ssh接続する際に設定をおくっているところをコメントアウトすることで対処。
CentOSに日本語パッケージをインストールすることでも対処できるので、
時間がある際にパッケージのインストールをする。