ファイル転送設定

ローカル接続とリモート接続間でのファイル転送

Keeper Connection Managerは、双方向のファイル転送をサポートしており、さまざまな接続タイプで独自の機能を使用できます。

ローカルシステムとリモート接続の間で、簡単なドラッグアンドドロップでファイルを転送できます。

ファイルはドラッグアンドドロップでリモートシステムに転送できます。guacctlツールを使用して、リモートシステムからローカルブラウザへのファイル転送を実行します。

ファイルはドラッグアンドドロップでリモートシステムにsftpで転送できます。sftpエンドポイントは、「Connection Edit」 (接続の編集) 画面で設定します。

新しいMySQL接続タイプは、ブラウザインターフェースを介したリモートデータベースとのCSVデータの送受信をサポートしており、MySQL構文の拡張機能として開発された特別な「select」および「load」コマンドを使用します。

RDP / Windows

Windows接続のファイル転送で使用する接続パラメータを以下に示します。RDP接続タイプは、2種類のファイル転送メソッドをサポートします。「Enable Drive」 (ドライブを有効化) メソッドはRDPプロトコルを使用し、ファイル転送をリモートシステムに対応づけられたドライブにマッピングします。

インストールメソッドに応じて、「Drive Path」 (ドライブパス) をいくつかの異なる方法で設定できます。

Dockerのインストールメソッドでは、/var/lib/guacamole/へのデフォルトのボリュームマウントがあります。

ドライブパスにはファイルの書き込みに必要な権限を持つベースパスである/var/lib/guacamole/drivesを含める必要があります。

複数の接続で同じドライブパスを指定した場合、それらの接続間でファイルが共有されます。 /drives/に続いて${GUAC_USERNAME}などのトークンがドライブパスに含まれている場合、ユーザーごとに自分の共有ドライブが表示されます。

ドライブのパス
/var/lib/guacamole/drives/${GUAC_USERNAME}

この例では、以下のパラメータが設定されています。

  • Enable Drive (ドライブを有効化) : チェックするとファイル転送機能が有効になります。

  • Drive Path (ドライブパス) : 環境に合わせてパスを設定します。このフォルダは、guacdユーザーから書き込み可能である必要があります。

  • Automatically Create Drive (ドライブの自動作成) : 権限が付与されている場合、サブフォルダは必要に応じて作成されます。

マッピングされたドライブは、以下のようにリモートシステムに表示されます。

Windows接続では、オプションでファイル転送にSFTPを使用できます。使用するには、接続のSFTPセクションで有効にします。また、SFTPクライアント/サーバーがWindows上で実行されている必要があります。

ファイルの転送

ローカルシステムからリモート接続にファイルを転送するには、ファイルをウィンドウにドラッグアンドドロップするだけです。 右下に進行状況のインジケータが表示されます。

ファイルの転送が完了すると、ドライブのフォルダにファイルが表示されます。

リモートシステムからローカルコンピュータにファイルを転送するには、リモートシステム上のファイルをマッピングされたドライブへとドラッグアンドドロップしてから、マッピングされたドライブの「ダウンロード」フォルダにドラッグするだけです。ファイルは直ちにローカルシステムにダウンロードされます。

SSH / Linux

SSH接続タイプでは、SFTPファイル転送が利用でき、ファイルをSSH接続画面に簡単にドラッグアンドドロップできます。SSH接続設定で指定した所定のフォルダにファイルが転送されます。

Linuxへの転送

ファイルをSSH 接続にドラッグアンドドロップしてファイルをリモートシステムに転送できます。 デフォルトでは、別のルートディレクトリパスが指定されない限り、ファイルはホームフォルダに転送されます。

Linuxからの転送

SSHリモート接続からローカルファイルシステムにファイルを転送するには、リモートシステムにguacctlというツールを使用してアウトバウンド転送を実行します。

guacctlをダウンロードし、実行可能に設定します。

sudo wget https://raw.githubusercontent.com/apache/guacamole-server/master/bin/guacctl
sudo chmod +x guacctl

ファイルのダウンロードを開始します。

sudo ./guacctl -d <filename>s

MySQL

インポート

データのインポートは、標準の「LOAD DATA LOCAL INFILE」SQLコマンドを使用して、ウェブブラウザインターフェースを介して実行されます。Keeper Connection Managerは応答データを傍受し、ウェブブラウザの標準ファイルダウンロード機能を使用して、そのデータをリダイレクトします。

以下に例を示します。

LOAD DATA LOCAL INFILE "input.csv" 
INTO TABLE products
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
IGNORE 1 LINES

このSQLクエリは、ブラウザのファイルアップロードを実行し、提供されたデータをインポートします。

構文の詳細は、MySQLのウェブサイトをご参照ください。

エクスポート

新しいSELECT...INTO LOCAL OUTFILEコマンドを使用してSQLクエリからCSVデータをエクスポートします。

以下に例を示します。

 SELECT * FROM products INTO LOCAL OUTFILE "products.csv";

ファイル転送のアップロード制限

ファイルのアップロード制限は、NGINXの設定ファイルのclient_max_body_size設定によって管理します。

Keeper Connection ManagerのDockerインストールでは、この設定のデフォルト値は「0」であり、アップロードできるファイルのサイズは無制限です。

Linux高度インストールメソッドでは、デフォルトのファイル転送制限が1MBに設定されている場合があり、ほとんどの場合、この制限を引き上げる必要があります。NGINXの一般的なインストール手順に従った場合は、設定ファイル (/etc/nginx/conf.d/guacamole.confなど) を変更する必要があります

以下のパラメータ (client_max_body_size) が推奨される最大ファイルサイズ制限に設定されていることを確認します。例えば、以下は200MBのサイズ制限に設定されています。

client_max_body_size 200m;

この値を更新した後は、必ずNGINXを再起動してください。

systemctl restart nginx

カスタムネットワークドライブ

ファイルの場所のパスを既存のネットワークドライブに関連付けたい場合は、以下の手順に従います。

  • ネットワークドライブをKeeper Connection Managerホストファイルシステムにマウントします

  • Docker Composeでネットワークドライブのパスをguacdコンテナにボリュームマウントします

  • guacdユーザーが、dockerコンテナのファイルに書き込み可能であることを確認します

これを行うときに留意すべき最も重要なことは、ドライブパスのファイルへの書き込み許可を必要とするのが「guacd」サービスであるという点です。guacdサービスは、「guacd」コンテナ内で権限の制限された「guacd」ユーザーとして動作するため、ファイルの権限を適宜設定する必要があります。これを行うには、コンテナが使用する数字のUID/GIDを使用して、ファイルシステム上のファイルの所有権を適切な設定に変更するか、またはGUACD_UIDおよびGUACD_GID環境変数を使用して、guacdコンテナのファイルシステム上のファイルがすでに使用しているUID/GIDを使用するようにコンテナを設定します。

Last updated