😺

【Ubuntu server】VirtualBoxで新しくターミナルを開く方法

2021/08/16に公開

はじめに

Linuxで動かしながら学ぶTCP/IPネットワーク入門を読んでいたら、tcpdumpを使ってパケットをキャプチャしようぜ!みたいなことが書いてあったのですが、WindowsからVirtualBoxを使ってUbuntu Serverを起動した場合、既に表示されているターミナルに加え、新しくターミナルを開いてコマンドを打つということができなかったので、ホストOS(Windows)からゲストOS(Ubuntu)に対してTeraTermを使ってSSH接続をすることで解決しようぜ!という試みをしました。

環境

VirtualBox 6.1.14
Ubuntu Ubuntu 16.04 LTS Server
TeraTerm

インストール方法について

記事では、Ubuntuのセットアップ時にLAMP serverとstandard system utilitiesとOpenSSH serverの三つをインストールするように設定していますが、必要のないLAMP serverのほか、解説のためにあえてOpenSSH serverはインストールしないようにしておきます。


※standard system utilitiesのみインストール

ifconfigで自身のIPアドレスを確認

SSH接続をするためには、ホストOSがゲストOSのIPアドレスを知っている必要がありますので、UbuntuのIPアドレスを確認します。Ubuntu側でifconfigコマンドを打つことで確認できます。今回は127.0.0.1がIPアドレスのようです。

コマンド実行時に、loと表示される個所がありますが、これはローカルループバックとよばれ、Ubuntu自身のIPアドレスを表しています。

ポートフォワーディングの設定

IPアドレスを知ることができたので、TeraTermで接続!と行きたいところですが、このままでは接続することができません (´・ω・`)

というのも、ポートフォワーディングの設定を行っていないので、Windows側がSSH接続しに行こうとしても、Ubuntu側がなんじゃそりゃと接続を拒否してしまうからです。

ポートフォワーディングは、インターネットから特定のポート番号宛てに届いたパケットをあらかじめ設定しておいたLAN側の機器に転送する機能です。これにより、LAN側のコンピュータにサーバ機能を立ち上げて外部から接続することができるようになります。また複数のポートやレンジを指定することができます。
https://www.asus.com/jp/support/FAQ/1037906/

こちらの記事を参考に、Ubuntu側のポートを設定してあげましょう。

OpenSSH-serverをインストールする

ポートも開放できたし、これで接続できるじゃんと思いますが、SSH接続のためにOpenSSH-serverをインストールしてあげる必要があります。OpenSSH-serverをインストールしてSSHサーバを使えるようにしてあげないと、UbuntuがSSH接続に対応できないので必須ですね。

インストール方法は以下のコマンドを実行するだけでOKです。

$ sudo apt-get install openssh-server

TeraTermを起動してUbuntuに接続

1.TeraTermを起動し、UbuntuのIPアドレスを入力

2.Ubuntuのユーザー名とパスワードを入力

3.接続完了

無事つなぐことができました('ω')ノ
Linuxで動かしながら学ぶTCP/IPネットワーク入門は、マスタリングTCP/IPを読んで知識としてネットワークの仕組みは分かったけど、体に叩き込んで理解したいといった場面でおすすめです。

みんなも買おうね(同調圧力)

Discussion