今回は自分のPCにインストールしたTeraTermから、VirtualBox上にインストールしたLinuxOS(今回はUbuntuをインストールしています)へ接続をする手順です。
TeraTermとは
自分の端末から、Linuxサーバー(検証用/本番サーバーなど)にリモートで接続し、操作するといった時によく使われるツールのことです。
(ちなみに、Windowsサーバーが接続先の場合は、TeraTermではなく「リモートデスクトップ接続」を使います)
大前提として、開発したプログラム(=ソフトウェア)は、実際に動かし、世界中の人が使えるようにする必要がある。
プログラムを運用するのは負荷がかかり、開発者の個人PCではスペック不足である。
そのため、プログラムは、サーバーと呼ばれる超スペックのコンピュータに配置し、実行することになる。
サーバーはプログラムを動かすことに特化しているため、開発者がサーバを目の前にしてファイルを作ったり、プログラムを動かしたりといった、直接の操作は前提としていない。
加えてサーバーは、複数の開発者が並行して使い、テストを実行するといったこともよくある。
多数の開発者が順番待ちをして、1台のサーバーを利用するのは非効率である。
こうした問題を解決し、開発者が各自のパソコンからサーバールームなどの離れた場所にあるサーバーにログインし、操作できるようにするツールの1つが今回紹介するTeratermである。
接続するための前提条件
- TeraTerm(ターミナル端末としてSSHで安全な接続ができる)がPCにインストール済み。
VirtualBox側の設定
Ubuntuは起動していない状態のVirtualBox画面で、Ubuntuを選択します。
歯車アイコンの「設定」ボタン ー>左側の「システム」を選択します。
ネットワークにチェックを入れます。(デフォルトではチェックが無い)
左側の「ネットワーク」を選択します。
「高度」をクリックして表示を展開し、「割り当て:NAT」を指定している状態で「ポートフォワーディング」ボタンをクリックします。
「ポートフォワーディングルール」の画面が開くので、右上の「+」アイコンをクリックします。
新たにルールが追加されるので、以下のように記入する。
- ポストポート:に空いているポート番号(ここでは3000を入力しました)
- ゲストポート:22(これはTeraTermの固定値)
Ubuntu側の確認
上述したVirtualBox側の設定が終わったら、Ubuntu側でSSHからの接続が出来るかを確認します。
Ubuntuを起動します。
Ubuntuのデスクトップ上で右クリックー>ターミナルを開きます。
(ターミナルは、「Open Terminal」や「端末で開く」と表示されていると思います)
ターミナルが表示されたら、以下のコマンドを入力して、SSHプロセスが起動しているかを確認します。
$ systemctl status sshd
もしくは
$ service sshd status
「Active:active(running)」が表示されていればOK。
ちなみにここでは、「この環境は、SSHへリモートから接続できる状態か?」を確認しています。
ここで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アドレスへアクセスすることが出来ます。