外出先から仮想マシンにSSH接続する方法(Virtualbox/Ubuntu)

外出先からスマホ(Android)で自宅の仮想マシンにアクセスする手順です。

接続元がWindows、接続先がLinuxの場合で進行します。

以下、手順です。

VirtualBoxにUbuntuをインストールします。

⇒ VirtualBoxにUbuntuをインストールする手順(初心者向け)

Ubuntuを起動後、デバイスタブ>「GuestAdditions CDイメージを挿入」をクリックして、Vboxを実行>再起動します(下記画像)※再起動後にCDは取り出す

再起動後、ターミナルを開いて下記を順番に実行します。

$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt autoremove

Ubuntuにはsshサーバーが入っていないので$sudo apt install openssh-server でインストール。※この時にルートでのログインを許可しない場合は $sudo vim /etc/ssh/sshd_config で設定ファイルを開いてPermitRootLoginをnoとして保存。

$systemctl restart ssh で再起動します。

この段階だと$ ifconfig を開いてもIPアドレスが割り当てられていないのでシャットダウン(下記画像)

VirtualBoxの設定画面を開いてブリッジアダプターに変更します。※NATのポートフォワーディングでも接続できますが、今回はブリッジで接続します

起動後、$ ifconfig でIPを確認できます。

画像を確認すると192.168.16.30が割り当てられていることが確認できます。

この段階でWindowsからVirtualBoxで作成した仮想マシンにSSH接続ができますので、「Tera Term」をインストールして接続します。

下記左側の画像を参考にして入力してOK。

続いてユーザー名:パスワードも入力します。

これで下記右側の画面が開き接続が確認できます。

続いて、

(1)Ubuntuで $ ssh-keygen として~/.sshにid_rsaとid_rsa.pub鍵を生成(~/.sshがない場合は事前に作成)※パスワードが短すぎるとエラーになります

(2)作成したid_rsa.pubの名前をauthorized_keysに変更

(3)$ chmod  0600 authorized_keys

私の場合は、すべてのサーバーで同じ鍵を使用しているのでSCPコマンドでコピーしました。

また作成したid_rsaを、Windowsとスマホ(Android)に移動しておきます。※これはVirtualBoxの共有フォルダを設定すると楽です

あとは鍵認証を有効にするためにsshd_configを編集するだけなのですが、vimも入っていなかったのでインストール(下記画像)

$ cd /etc/ssh ⇒ $ sudo vim sshd_configで下記のように編集します
PasswordAuthentication no
PermitRootLogin no

「Tera Term」で鍵を使用した認証のみ有効を確認します。

続いて、外出先からVirtualboxにアクセスできるようにするために、PPTPなどでネットワークを通します

※参考:外出先からAndroid(スマホ)を使用して自宅のPCにアクセスする方法

AndroidからSSHで接続するために「JuiceSSH」をインストール(秘密鍵を使いやすいのでコレを使用)

JuiceSSH ⇒ https://play.google.com/store/apps/details?id=com.sonelli.juicessh&hl=ja

接続先情報と認証情報(鍵)を入力してVPN経由なら外出先からも接続可能(VPS経由もあり)

なんとなく書こうかなと思いはじめたのですが…スクショ取りながらだと4時間もかかりました…暇な方は試してみてください。

以上です。

スポンサーリンク