Linuxのコンソール画面でコピー貼り付けなどの操作が困難なのでSSH接続しました(VirtualBox)

スポンサーリンク

VirtualBoxを使用してubuntu minimalをインストールしましたが、デスクトップ画面ではなく真っ黒なコンソール画面で操作が困難なので、Tera Termを使用してこの仮想マシンに接続することにしました。クラウドではこの環境が圧倒的多数なので、皆さんも学習のために環境を構築してみてはいかがでしょうか。
それでは進めていきましょう。SSH接続をしたいので、それ相当のソフトがインストールされているか確認します。

sudo systemctl status sshd

導入されていないのでインストールします。

sudo apt install ssh

ファイアーウォールでポート開放状態がどうなっているかの確認もします。
inactiveと表示されたので、インストール済みではあるが起動はしていないので接続を拒否されることはないことがわかりました。

sudo ufw status

次はVirtualBox自体に設定をするのでOSをシャットダウンします。シャットダウン前に、この仮想マシンのIPアドレスをメモしておきます。

VirtualBoxで設定をクリックします。ネットワークを選択し、アダプタータブにある「高度」をクリックして詳細を表示します。

ここにあるポートフォワーディングを利用します。ポートフォワーディングを設定されたポートは、対応付けられた別のアドレスポートの窓口として機能し、外部との間で送受信されるパケットはすべて自動的に転送されるので、仮想マシンにSSH接続が可能となります。

ルールを新規で作成します。名前は任意で決め、ホストIPに操作しているPCのIPアドレスを入力します。IPアドレスはコマンドプロンプトで次のコマンドを入力して調べます。

ipconfig

ホストポートは5050としました。ゲストIPには仮想マシンのIPアドレスを入力し、ゲストポートは22を入力します。

これで操作しているPCと、VirtualBoxの仮想マシンのIPアドレスが送受信可能となりました。
仮想マシンを起動します。この時、Windows Defenderによる警告が表示されたら、アクセスを許可します。

本当に送受信が可能になったのかをコマンドプロンプトで確認します。

telnet 192.168.26.105 5050

OpenSSHの表示がされ接続が確認できました。

Tera Termを開き、ホストとTCPポートを次のように記入します。

ホスト:user@192.168.26.105
TCPポート:5050

OKボタンを押すと認証画面が表示されるので、仮想マシンのubuntuのユーザー名とパスワードを入力してログインします。

せっかくなので認証鍵による接続もしてみます。
仮想マシンにあとから必要になるディレクトリを作成しておきます。
ホームに.sshというディレクトリを作成し、適切なアクセス権を付与します。

mkdir .ssh

ディレクトリのパーミッションを700変更(オーナーのみ読み込み、書き込み、実行が可能)
chmod 700 .ssh

今度は、Tera Termの設定タブにある「SSH鍵作成」をクリックします。「生成」を押して公開鍵と秘密鍵を保存します。

公開鍵の拡張子は.pubで、これを仮想マシンに転送します。
転送するにもTera Termの機能で可能です。ファイルタブにあるSSH SCPがそれにあたります。
上段にある「From」の部分に先ほど生成した拡張子が.pubの公開鍵を読み込んできます。
「To」の部分は空白にしました。空白の時は、ファイルは今いるディレクトリに転送されます。

.pubファイルを先ほど作成した.sshディレクトリに、違うファイル名でコピーします。作成したファイルにも適切な権限を設定します。

公開鍵を.sshディレクトリのauthorized_keysというファイル名でコピーする。
cat id_rsa.pub >> .ssh/authorized_keys

ファイルauthorized_keysのパーミッションを600変更(オーナーのみ読み込み、書き込み可能)
chmod 600 .ssh/authorized_keys

転送した公開鍵は不要になったので削除する。
rm id_rsa.pub

Tera Termで接続の際、今度は鍵を使用する接続をします。秘密鍵を選択して接続します。

コメント

タイトルとURLをコピーしました