kuro_reraのブログ

新米エンジニアのブログ。いろいろと模索中。

Tera TermでVirtualBox上のUbuntuとホストOSを接続する

購入したマシンにはWindows 10 Homeがプリインストールされているが、まずはLinux環境を構築するところから始める。
必ずしもLinuxで開発しなくてもよいのだが、パッケージ管理が簡単だろうというのが一番の理由である。
また、LPICを受験するつもり(Level1だが)なので、ついでに慣れてしまおうという魂胆である。

VirtualBoxUbuntuの導入

  • Linux環境の構築においてダウンロードしたもの
    • VirtualBox(5.2.4)
    • Ubuntu(16.04.3 LTS) ※Ubuntu(17.10)はBIOSが破壊されるバグが発覚しただのしないだので、導入を見送り

以下のページなどを参照しながら。
このあたりは調べればだいたい出てくる。
【初心者でもわかる】VirtualBoxインストール方法を詳しく!
VirtualBoxにUbuntu16.04をインストール - Qiita

で、Ubuntuの導入はたいして躓かなかった。
素直に従っておけばよかろう。

Tera Termのダウンロード

さて、Ubuntuは画像のようにGUIをもっている。
f:id:kuro_rera:20180111225248p:plain
(新井さんがいたからキャプチャをとった)
わりとシュッとしたいいデザインで、動作も軽くよいOSだと思う。
しかし、あくまで仮想環境であって、コマンド上で動けば十分という場合もあるだろう。

そこで、ホストOS上(Windows)でゲストOS(Ubuntu)を動かせるようにする。
具体的には、Tera Termというソフトをダウンロードする。執筆時点での最新Verは4.97だった。
Tera Termは、ここでは接続先のターミナル(コマンドを打つところ)になるもので、SSH接続(めっちゃ安全な通信)ができたりマクロを使えたり、みたいな特徴もある。

Tera Termダウンロードページは以下。
Tera Term (テラターム) プロジェクト日本語トップページ - OSDN
以下のページなどを参考にした。
【ゼロからわかる】Teratermのインストールと使い方 TeraTerm(Win7)からVirtualBox(Ubuntu14)へNAT経由でSSH接続 - Qiita

インストール先のデフォルトはProgram Files(x86)だったが、そのままで特に問題なかった。32bitなのだろう。
コンポーネントの選択」では標準インストールのデフォルトを選択した。

VirtualBoxの設定

さて、Tera Termのダウンロードが終わったところでVirtualBox側でちょっと操作をする。
Ubuntuを起動していない状態でUbuntuを選択し、「設定(歯車のアイコン)」>「システム」と選択する。
デフォルトでは「起動順序」の「ネットワーク」にチェックがついていなかったが、ここにチェックをつける。
f:id:kuro_rera:20180112083249p:plain

その後、左のメニューから「ネットワーク」を選択する。
「割り当て」で「NAT」を指定すると、「ポートフォワーディング」が有効になるので、(ボタンがない場合は「高度」の左三角をクリックすれば出てくる)これをクリック。 f:id:kuro_rera:20180112083853p:plain
すると「ポートフォワーディングルール」が開くので、右上のアイコンをクリック。
新たにルールが追加されるので、ホストポートに適当な空いてる数字(ここでは3000とした)をセット。ゲストポートに22(これは固定)をセットする。
f:id:kuro_rera:20180112084105p:plain

Ubuntu側の設定

この設定が終わったらUbuntuを起動する。
デスクトップ上で右クリック→Open Terminalを選択すると、ターミナルが出てくる。
まずは、ここで service sshd status と入力する。
これは、「今この環境はリモートからSSH接続できる状態か?」を確認するものだ。
Active: active(running) が出ていればSSH接続できる状態だが、
Ubuntu入れたての環境では以下のように表示された。

$ service sshd status  
●sshd.service  
    Loaded: not-found (Reason: No such file or directory)
    Active: inactive (dead)  

そもそもそんなもんないよと言われている。
ここで、 sshd とやらをインストールしよう。

その前に、まず sudo apt-get update と入力する。
apt-get はパッケージ管理コマンドといって、インストールなりアップデートなりを簡単にできるコマンドである。
updateapt-get のオプションで、インストール先のパッケージを最新の状態にしてくれる。
sudo はおまじないと思えばいいが、どうやら apt-get を打つときは必要っぽい。
数分でアップデートは終わるはず。

ここから実際にパッケージをインストールしていく。
sudo apt-get install openssh-server と入力する。
(参考資料では sysv-rc-conf をインストールしていたが、私の場合はそれではうまくいかなかった。)
「続行しますか?[Y/n]」と出てくるので、Yを入力してEnter。
すぐにインストールは終了する。

インストールが終了したら、改めて service sshd status を入力してみよう。
3行目あたりに Active: active (running) と出れば成功だ。
これで、ホストOSからSSH接続できるようになった。

Tera Termの設定

ここで、やっとTera Termのお出ましである。
インストールしたTera Termを開くと、下図のような画面になる。 f:id:kuro_rera:20180112215138p:plain
ホストに127.0.0.1:3000(コロンの後は設定したホストポート)を、TCPポートに22を入力する。
127.0.0.1は言わずと知れたIPで、自分自身を指すものである。
OKを押すと初回はセキュリティなんたらという警告が出るが、かまわずOKする。(画面は撮り損ねた)
すると「SSH認証」としてユーザ名とパスワードを要求されるので、Ubuntu上に登録したユーザ名とパスワードをそれぞれ入力する。
下のほうは「ブレインパスワードを使う」にしておけばよい。

f:id:kuro_rera:20180112215901p:plain

これで、ホストOS上でゲストOSを操作できるようになった。
とりあえず今回はここまで。