Remote Maintenance

概要

デバイスのメンテナンスを行うために、デバイスに対してSSHログインできるようにする機能を提供します。
本機能を利用するとデバイスがローカルネットワークに存在している場合であってもそのローカルネットワークの外からSSHログインすることができるようになります。

Remote Maintenanceを行う際に必要となる構成要素を下表に示します。

要素 説明
デバイス Remote Maintenanceの対象となるデバイスです。
enebular-agentのVer 2.9.0以上が稼働している必要があります。
作業用PC ユーザがデバイスに対してSSH接続するために利用するPCです。
SSH Clientがインストール済みである必要があります。
中継サーバ グローバルIPを持ち、SSHサーバが稼働するサーバです。
作業用PCからデバイスへのSSH接続を中継するために利用します。

本機能は有償プロジェクトでのみ利用できます。

説明

前提条件

Remote Maintenanceの前提条件を列挙します。

  • Remote Maintenanceの対象デバイスにライセンスが付与されていること
  • デバイスから中継サーバに対し、SSH接続できること(22番ポート固定)
  • 作業用PCから中継サーバに対し、SSH接続できること(ポートはenebularの画面から指定)
  • 中継サーバのSSHサーバにて公開鍵認証が有効であること*
    デフォルトで有効であるため/etc/ssh/sshd_configファイルを確認し、PubkeyAuthenticationが下記のようにコメントアウトされていることを確認してください。
    #PubkeyAuthentication yes
    
  • 中継サーバのSSHサーバにてGatewayPortsを許可すること*
    作業用PCから中継サーバ経由でデバイスにSSHログインするためにGatewayPortsを許可する必要があります。
    /etc/ssh/sshd_configファイルを確認し、下記の設定になっていることを確認してください。
    GatewayPorts yes
    
  • 中継サーバのSSHサーバにて死活監視設定が有効であること*
    ネットワーク障害発生時にSSH関連のプロセスが残ってしまうことが防ぐために死活監視の設定が必要です。
    /etc/ssh/sshd_configファイルを確認し、下記の設定になっていることを確認してください。
    ClientAliveInterval 30
    ClientAliveCountMax 3
    
    *: /etc/ssh/sshd_configファイルの設定を変更した場合はSSHサーバの再起動が必要です

環境構築

SSHのKeyを生成

まず、enebularの画面からRemote Maintenance用のKeyを作成します。
Keyを作成できるのは、プロジェクトのownerのみです。

  1. enebular画面の左側のメニューにあるSettingsをクリックします
  2. Device Remote Maintenanceの欄に表示するCreate Key Pairボタンを押下します
  3. 確認ダイアログを表示するのでKeyを作成してもよろしければCreateボタンを押下します
  4. 以下二つのKeyのダウンロードリングを表示しますので、各々をダウンロードします
    • relay-server-<id>.key: 中継サーバで稼働するSSHサーバが利用する公開鍵
    • device-<id>.key: 作業用PCでSSH接続時に利用するデバイスの秘密鍵

中継サーバへのKeyの配置

次に、中継サーバにrelay-server-<id>.keyを設定します。
中継サーバにSSHサーバがインストールされていること、及び、中継サーバにインストールされているOSがLinuxであることを前提に説明します。

  1. 中継サーバにログインします
  2. relay-server-<id>.keyファイルをRemote Maintenanceで利用するユーザのホームディレクトリにコピーします
  3. 上記ディレクトリにある.ssh/authorized_keysファイルにrelay-server-<id>.keyファイルの内容を追記します
    例: cat relay-server-<id>.key >> .ssh/authorized_keys

Deviceは、上記で指定したrelay-server-<id>.keyに対応する秘密鍵を用いて接続を行います。 Remote Maintenance機能では、中継サーバに対してパスワードによるログインを行いませんので不要であればSSHサーバの設定を修正しパスワードによるログインを無効化しても良いです。

作業用PCへのKeyの配置

最後に、作業用PCにdevice-<id>.keyをコピーします。
作業用PCにはSSH Clientがインストール済みであることが前提であり、コピーしたファイルはSSH Clientが利用します。
利用の仕方は後述するメンテナンス手順で説明します。

メンテナンス手順

Remote Maintenanceを行うときの手順を説明します。
Remote Maintenanceのオン/オフを切り替えられるのはプロジェクトのowner及びadminです。

まず、enebularの画面からRemote Maintenance可能な状態に切り替えます。

  1. enebular画面の左側に表示するサイドメニューにあるDevicesをクリックします
  2. メンテナンスしたいデバイスが含まれるConnection名をクリックします
  3. 表示したデバイス一覧からメンテナンス対象のデバイスを探し、クリックします
  4. 表示されたデバイス詳細画面のRemote Maintenanceの欄に以下の情報を入力します
    • Relay server host
      中継サーバのホスト名又はIPアドレスを入力してください
    • Relay server port number
      中継に利用するポート番号を入力してください
    • Relay server username
      SSHの中継を行う際に利用するユーザの名前を入力してください
  5. Remote Maintenanceのトグルボタンを押下します
  6. トグルボタンがオンの状態(緑)に変わったら作業用PCからSSH接続可能な状態になったことを表します

次に、作業用PCからデバイスに対してSSH接続を行います。
SSH接続で利用する鍵は、環境構築時に作業用PCにコピーしたdevice-<id>.keyを利用します。 ユーザは、enebular-remote-adminを指定します。 以下にコマンドの例を示します(作業用PCのホームディレクトリにdevice-<id>.keyを置いた場合)。

ssh -i ~/device-<id>.key [email protected]<Relay server host*1> -p <Relay server port number*2>

*1: デバイス詳細画面のRelay server hostに入力したホスト名又はIPアドレス
*2: デバイス詳細画面のRelay server port numberに入力したポート番号

メンテナンスが完了したらenebularのデバイス詳細画面からRemote Maintenanceのトグルボタンをオフにすることが可能です。

オン/オフ切り替え履歴の確認

Remote Maintenanceのオン/オフ切り替えの実施者や実施時刻をAction History画面から確認することができます。

enebular画面の左側メニューのAction Historyをクリックするとユーザが実施したActionのリストを表示します。

以下のAction TypeがRemote Maintenanceのオン/オフのActionです。

  • オン: Start Remote M.
  • オフ: Stop Remote M.

Triggered ByRequestedを参照することにより、実施者や実施時刻を確認することができます。

results matching ""

    No results matching ""