at_ito
2017年11月6日 4時53分
ArmadilloをグローバルIPアドレスが割り振られない3G/LTE通信で通信を行う構成で、外部からSSHを使用してメンテナンス等を行いたい場合があるかと思います。
ここでは「Reverse SSH Tunnneling」の機能を使って、直接アクセスできないArmadilloに対してSSH接続を行う方法を紹介します。
1. 環境
ここでは以下の環境で試します。
- 使用機器
- Armadillo: Armadillo-IoT G3L
- 中継サーバー: ATDE6
- クライアント: PC
- 前提条件
- クライアントからArmadilloに対して直接SSH接続が不可能
- 中継サーバーからArmadilloに対して直接SSH接続が不可能
- Armadilloから中継サーバーへは直接SSH接続が可能
- クライアントから中継サーバーへは直接SSH接続が可能
上記以外の環境では、環境によって読み替えてください。
2. SSH接続の準備
ATDE6で以下のコマンドを実行しSSHサーバーをインストールしてください。
[atde ~]$ sudo apt-get install openssh-server
上記と同様にArmadilloでも以下のコマンドを実行しSSHサーバーをインストールしてください。
[armadillo ~]$ sudo apt-get install openssh-server
Armadilloから以下のコマンドを実行して、ATDE6に接続しておいてください。
[armadillo ~]# ssh -R 9999:localhost:22 <ATDE6のIPアドレス>
3. クライアントからArmadilloへのSSH接続
以下のコマンドを実行して、クライアントからATDE6に一旦接続します。
[pc ~]$ ssh atmark@<ATDE6のIPアドレス>
ATDE6にSSH接続できたら、以下のコマンドを実行してArmadilloへのSSH接続を実行します。
[atde ~]$ ssh localhost -p 9999