LoginSignup
35
35

More than 5 years have passed since last update.

Vagrantの公開鍵、秘密鍵を用いたssh接続の設定

Posted at

環境

  • ホスト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に日本語パッケージをインストールすることでも対処できるので、
時間がある際にパッケージのインストールをする。

35
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
35