開発者にとってターミナルは慣れたツールですが、時にはGUI(グラフィカルユーザーインターフェース)環境でファイルやディレクトリを直感的に管理したい時があります。特にターミナル専用のサーバーに接続しなければならない場合、ファイルを移動したり構造を把握するのが面倒に感じることがあります。

そんな時に便利なのがSFTP(SSH File Transfer Protocol)と、これをサポートするローカルのGUIファイルエクスプローラーです。まるで自分のローカルコンピュータのフォルダーを扱うように、リモートサーバーのファイルシステムを探索し管理できる魔法のような方法です!

GUIファイルエクスプローラーとターミナルを同時に使用する場面


SFTPとは何ですか?

SFTPはSSH(Secure Shell)プロトコルに基づくファイル転送方式です。名前からもわかるように、FTP(File Transfer Protocol)と似た機能を提供しますが、SSHの強力な暗号化機能のおかげで、はるかに安全にファイルをやり取りできるという大きな利点があります。

  • FTP vs. SFTP: FTPは平文でユーザー名、パスワード、ファイル内容を転送するため、セキュリティに脆弱です。一方、SFTPはSSHトンネルを通じてすべての通信が暗号化されるため、機密情報も安心して送信できます。
  • ファイル転送以外の機能: 単純にファイルを転送するだけでなく、リモートサーバーのファイルシステムを探索し、ディレクトリを作成/削除し、ファイルの権限を変更するなど、さまざまなファイル管理作業を実行できます。

私たちが一般的に使用するsshコマンドは、ターミナルを通じてリモートサーバーに接続しコマンドを実行することが主な目的ですが、SFTPはファイルシステムへのアクセスに特化していると理解していただければと思います。


SFTPとGUIファイルエクスプローラーの連携: ターミナルなしでファイル管理を行う

LinuxのGUI環境では、基本となるファイルエクスプローラー(例: UbuntuのNautilus、KDEのDolphin)にSFTPアドレスを入力するだけでリモートサーバーに接続し、GUI環境でファイルを管理することができます。これは開発ワークフローを非常に効率的に作り出すことができる強力な機能です。

接続方法(Linuxの場合)

  1. ファイルエクスプローラーを開く: Nautilus(ファイル)、Dolphinなど、皆さんが使用しているLinuxのファイルエクスプローラーを開きます。

  2. 「他の場所」または「ネットワークを探索」を選択: 通常、ファイルエクスプローラーの左側サイドバーの下部にあります。

  3. サーバーアドレスを入力: アドレス入力欄に次のような形式でSFTPアドレスを入力します。

    sftp://[ユーザー名]@[対象ホスト]:[ポート]

    • [ユーザー名]: リモートサーバーに接続するユーザーアカウント名です。(もしローカルユーザー名とリモートサーバーのユーザー名が同じであれば、省略することも可能です。)
    • [対象ホスト]: リモートサーバーのIPアドレスまたはドメイン名です。
    • [ポート]: SSHポート番号です。SSHの基本ポート(22番)を使用する場合、省略できます。
      • 例: sftp://myuser@myremoteserver.com:2222(2222番ポート使用時)
      • 例: sftp://admin@192.168.1.100(基本22番ポート使用時)
      • 例: sftp://myremoteserver.com(ユーザー名とポート共に基本値使用時)
    • 認証情報の入力: SSHキーまたはパスワードを使った認証ウィンドウが表示されます。サーバー接続方式に応じて情報を入力し、「接続」または「認証」ボタンをクリックします。

    • SSHキーを使用する場合: そのキーのパスワード(passphrase)を尋ねるウィンドウが表示されることがあります。passphraseを設定していなければ、id_rsaまたはid_ed25519ファイルが自動的に認識され、すぐに接続されます。

    • パスワードを使用する場合: サーバー接続パスワードを入力します。
  4. 接続完了: 認証が成功すれば、リモートサーバーのファイルシステムがローカルファイルエクスプローラーにマウントされます。これでローカルディスクを扱うようにサーバーのファイルをコピー、移動、削除したり、新しいディレクトリを作成することができます。

  5. 接続したサーバーをマウス右クリックでお気に入りに登録しておくと、いつでもサーバーのファイルシステムをローカルマシンのマウントドライブのように使用できます。

実際のNautilus(Ubuntu)での例:

  1. Nautilusを開きます。
  2. 左側のサイドバーで+ 他の位置をクリックします。
  3. 下部のサーバーに接続入力欄に例えばsftp://myuser@myremoteserver.comまたはsftp://myuser@123.45.67.89:2222を入力し、接続ボタンを押します。
  4. 認証ポップアップでパスワードやSSHキーのパスワードを入力します。
  5. 成功裏に接続されれば、myremoteserver.comのホームディレクトリがNautilusに表示され、まるでローカルフォルダーのようにファイルを探索し管理できます。

この方法がなぜ便利ですか?

このGUIベースのSFTP接続は開発プロセスの中でさまざまな状況に大きな助けを提供します。

  1. 直感的なファイル探索と管理: ターミナルコマンド(ls、cd、cp、mv、rmなど)に不慣れであったり、複雑なディレクトリ構造を一目で把握したいときに非常に役立ちます。ドラッグ&ドロップでファイルを簡単に移動できます。ファイル名やパス名をターミナルで一つ一つタイピングしなくて済む便利さが本当に最高です。
  2. スクリプト/設定ファイルの編集: ローカルでよく使用するGUIテキストエディタ(VS Code、Sublime Text、Atomなど)でサーバーの設定ファイルやスクリプトを直接開いて修正・保存することができます。これはターミナルベースのエディタ(Vim、Nano)使用に苦労しているユーザーにとって特に便利です。
  3. ログファイルの確認: サーバーの膨大なログファイルをGUIエクスプローラーで開いて、ローカルにダウンロードして分析したり、特定の部分を迅速に検索する作業が容易に行えます。
  4. 画像、メディアファイルの管理: サーバーに保存された画像やメディアファイルを直接開いて確認する必要があるとき、GUI環境がずっと効率的です。
  5. 非開発者とのコラボレーション: 開発者でない企画者やデザイナーなども、サーバーの特定のリソース(例: 画像、PDF文書)にアクセスして管理する必要がある場合、ターミナルコマンドを教える必要なくGUI環境を提供できます。

おわりに

SFTPを活用したGUIファイルエクスプローラーの連携は、ターミナルコマンドを通じてサーバーファイルを管理することに不慣れなユーザーに革新的な便利さを提供します。また、熟練した開発者にとっても時にはGUIの直感性がターミナルよりも効率的な瞬間をもたらすこともあります。

今すぐあなたのLinuxファイルエクスプローラーを開き、SFTPアドレスを入力してリモートサーバーのファイルを手中に収めてみてください!SSHのもう一つの有用な顔を発見することができるでしょう。

この機能についてさらに質問があれば、いつでもお問い合わせください!