ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

Windows10のVagrantでJuniper Fireflyを動かすまで

概要

このQiitaの投稿を見て思い立った。一筋縄ではいかなかったので、手順を残しておく。VagrantVirtualBoxはインストール済み。

qiita.com

手順

boxをダウンロード

vagrant box add firefly121X47D154 https://atlas.hashicorp.com/juniper/boxes/ffp-12.1X47-D15.4

Vagrantfileの生成と編集

ディレクトリを作ってvagrant initする。vagrantディレクトリは作成済み。

cd vagrant
mkdir firefly01
cd firefly 01
vagrant init firefly121X47D154

記事で紹介されていた通りに編集。

vim Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
    config.vm.box = "firefly121X47D154"
    config.vm.define :firefly01 do | firefly01 |
        firefly01.vm.hostname = 'firefly01'
        firefly01.vm.network "private_network",ip: "192.168.33.1",netmask: "255.255.255.0"
    end
end

VMを起動

vagrant upでVMを起動しようとしたら、プラグインをインストールするよう言われたので素直にインストール。

vagrant up # 以下プラグインのインストールを要求される
vagrant plugin install vagrant-host-shell
vagrant up # 以下プラグインのインストールを要求される
vagrant plugin install vagrant-junos
vagrant up # 成功

vagrant statusで確認すると、無事runningに。

Fireflyにログイン

ここで問題発生。記事ではvagrant sshでログインするが、Windows10にはデフォルトでSSHクライアントが入っていないためvagrant sshができない。bashからもSSHを試したがこれも不可(公開鍵認証しか許可されていないから?)。

①Git for Windowsをインストール

最初のトライでやった対応。以下の記事を参考にGit for Windowsをインストールする。

d.hatena.ne.jp

ホームに作成されたアイコンをダブルクリックして開いたプロンプトからVagrantfileがあるディレクトリへ移動し、vagrant sshする。インストール時にWindows標準のプロンプトを使用するよう指定したが、反応が非常に悪い。

bash on Ubuntu on Windowsからログイン

先ほど試したらうまくいったので併せて記載しておく。vagrant sshは公開鍵認証を利用してSSHログインするわけだが、前述の通りWindowsにはデフォルトでSSHクライアントはない。しかし、秘密鍵はしっかり作成してある。以下のコマンドで出力される「 IdentityFile」にその絶対パスが記載されている。

vagrant ssh-config

秘密鍵の所在を確認した後、以下を実行する。

  1. 秘密鍵bashの~/.ssh配下に格納(多分ここじゃなくても大丈夫)。
  2. ファイル名を「id_rsa」に変更。

以下を実行すれば、パスワード認証なしでログインできる。

ssh root@127.0.0.1 -p XXXX

1を実施しただけではログインできなかったのだが、秘密鍵のファイル名は「id_rsa」じゃないとダメなんだろうか?

※追記

秘密鍵の指定って方法もあるのか。

www.ellinikonblue.com

Fireflyの設定変更

SSHログインさえできれば、あとは新規のログインユーザを作るもよし、そのまま検証するもよし。