TeraTermからVirtualBoxへSSH接続する方法

Linux
この記事は約10分で読めます。

今回は自分のPCにインストールしたTeraTermから、VirtualBox上にインストールしたLinuxOS(今回はUbuntuをインストールしています)へ接続をする手順です。

TeraTermとは

自分の端末から、Linuxサーバー(検証用/本番サーバーなど)にリモートで接続し、操作するといった時によく使われるツールのことです。

(ちなみに、Windowsサーバーが接続先の場合は、TeraTermではなく「リモートデスクトップ接続」を使います)

大前提として、開発したプログラム(=ソフトウェア)は、実際に動かし、世界中の人が使えるようにする必要がある。

プログラムを運用するのは負荷がかかり、開発者の個人PCではスペック不足である。

そのため、プログラムは、サーバーと呼ばれる超スペックのコンピュータに配置し、実行することになる。

サーバーはプログラムを動かすことに特化しているため、開発者がサーバを目の前にしてファイルを作ったり、プログラムを動かしたりといった、直接の操作は前提としていない。

加えてサーバーは、複数の開発者が並行して使い、テストを実行するといったこともよくある。

多数の開発者が順番待ちをして、1台のサーバーを利用するのは非効率である。

こうした問題を解決し、開発者が各自のパソコンからサーバールームなどの離れた場所にあるサーバーにログインし、操作できるようにするツールの1つが今回紹介するTeratermである。

接続するための前提条件

  • TeraTerm(ターミナル端末としてSSHで安全な接続ができる)がPCにインストール済み。

VirtualBox側の設定

Ubuntuは起動していない状態のVirtualBox画面で、Ubuntuを選択します。

歯車アイコンの「設定」ボタン ー>左側の「システム」を選択します。

ネットワークにチェックを入れます。(デフォルトではチェックが無い)

左側の「ネットワーク」を選択します。

「高度」をクリックして表示を展開し、「割り当て:NAT」を指定している状態で「ポートフォワーディング」ボタンをクリックします。

「ポートフォワーディングルール」の画面が開くので、右上の「+」アイコンをクリックします。

新たにルールが追加されるので、以下のように記入する。

  • ポストポート:に空いているポート番号(ここでは3000を入力しました)
  • ゲストポート:22(これはTeraTermの固定値)
「virtualbox linux しくみ」の画像検索結果

Ubuntu側の確認

上述したVirtualBox側の設定が終わったら、Ubuntu側でSSHからの接続が出来るかを確認します。

Ubuntuを起動します。

Ubuntuのデスクトップ上で右クリックー>ターミナルを開きます。

(ターミナルは、「Open Terminal」や「端末で開く」と表示されていると思います)

ターミナルが表示されたら、以下のコマンドを入力して、SSHプロセスが起動しているかを確認します。

$ systemctl status sshd
もしくは
$ service sshd status

「Active:active(running)」が表示されていればOK。

ちなみにここでは、「この環境は、SSHへリモートから接続できる状態か?」を確認しています。

SSHがインストールされていない(not-found)場合

ここでSSHがまだインストールしていなかったりする場合は、コマンドからインストールしておく。

まずは、以下apt-getのパッケージ管理コマンドでインストール先のパッケージを最新状態にします。

$ sudo apt-get update

次に、パッケージを実際にインストールします。

$ sudo apt-get install openssh-server

続行するかを尋ねられたら「y」などでEnter。インストールはすぐに完了します。

インストール後は自動でSSHデーモンが起動します。下記コマンドでsshdプロセスが起動していることが確認できます。

$ ps aux | grep sshd | grep -v grep

※うまくインストールできない場合、こちらで解決できるかもしれません。
dpkgやapt-getで依存関係のエラーが出た時の対処法

TeraTerm側の設定

すでにインストールしてあったTeraTermを開きます。

「ホスト」に「127.0.0.1:3000」を指定します。

(127.0.0.1は自分自身を指し、:はポート番号)

セキュリティの警告が最初は出るので、OKします。

SSH認証としてユーザー名・パスワードを要求されるので、Ubuntuインストール時に設定したものを入力します。

これで、ホストOS上のターミナルTeraTermから、ゲストOSのUbuntuを操作できるようになったはずです。

参考:UbuntuのIPアドレスを固定する

相手の仮想マシンのIPアドレスを固定して接続する場合、こちらの記事が参考になります。

Ubuntu 20.04 LTSで固定IPアドレスを設定する方法【デスクトップ編】https://linuxfan.info/ubuntu-2004-desktop-static-ip-address

仮想マシンがSSHで接続できるようになっていれば、UbuntuのIPアドレスを固定して、TeraTermからそのIPアドレスへアクセスすることが出来ます。