SFTP接続エラーを修正 — RcloneViewでSSHファイル転送の問題を解決
RcloneViewでのSFTPエラーは、ほとんどの場合、認証設定の誤り、ファイアウォールのルール、ホストキー検証の失敗といった、いくつかの根本原因に集約されます。それぞれに直接的な解決策があります。
SFTP(SSH File Transfer Protocol、ポート22)は、ローカルマシンとサーバー間でファイルを転送する際の定番プロトコルです。Webホスト、オンプレミスのNASデバイス、クラウドVMの多くがSFTPインターフェースを公開しています。RcloneViewがSFTPリモートに接続できない場合、Logタブのエラーメッセージが原因を示しますが、認証情報の誤り、ポートのブロック、ホストキーの不一致、パスの制限など、考えられる問題は多岐にわたるため、診断は手探りのように感じられることがあります。このガイドでは、よくあるSFTPエラーと、それぞれを体系的に解決する方法を解説します。

すべてのクラウドを一か所で管理・同期
RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。
- ワンクリック操作: コピー · 同期 · 比較
- 信頼性の高い自動化のためのスケジューラーと履歴
- Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
コア機能は無料。Plusで自動化機能を利用可能。
SFTPリモートを正しく設定する
接続エラーの多くはリモートの設定から始まります。RcloneViewでRemote タブ > New Remoteを開き、プロバイダー一覧からSFTPを選択します。必須項目はHost(ホスト名またはIPアドレスのみ — sftp://は不要)、Port(デフォルトは22)、Username、そしてパスワードまたはSSH秘密鍵ファイルのパスによるAuthentication方式です。
よくある間違いは、Hostフィールドにsftp://hostnameと入力してしまうことです。RcloneView(rclone経由)はホスト名またはIPアドレスのみを想定しており、sftp://のプレフィックスがあると接続は即座に拒否されます。サーバーが鍵ベースの認証を使用している場合は、秘密鍵ファイルのパスがローカルマシン上の正しいファイルを指していることを確認してください。LinuxおよびmacOSでは、鍵ファイルのパーミッションを600以下に設定する必要があります。SSHクライアントは、誰でも読み取り可能な鍵の使用を拒否します。
認証失敗を診断する
認証失敗は、RcloneViewのLogタブにssh: handshake failedやPermission denied (publickey,password)といったメッセージとして表示されます。以下の手順を順番に確認してください。
- ユーザー名を確認する — ターミナルのSSHクライアントで一度接続し、正確なアカウント名を確認します。RcloneViewは同じ認証情報を使用するため、大文字・小文字の違いが問題になることがあります。
- 鍵認証かパスワード認証かを確認する — サーバーが鍵ベースのログインを強制している場合、RcloneViewでの パスワード入力は失敗します。パスワード欄は空欄のままにし、代わりに秘密鍵のパスを指定してください。
- DEBUGログを有効にする — Settings > Embedded Rclone > Enable rclone Loggingに移動し、レベルをDEBUGに設定して、エラーを再現します。ログファイルにはSSHハンドシェイクの全過程が記録され、正確な拒否ポイントを特定できます。
ホストキー不一致エラーを解決する
rcloneがSFTPサーバーに初めて接続する際、サーバーのホストキーを記録します。その後、サーバーの再構築、OSの再インストール、証明書のローテーションなどにより鍵が変更されると、rcloneはhost key mismatchエラーを出し、中間者攻撃を防ぐために接続を拒否します。これを解決するには、RcloneViewでRclone Terminalタブを開き、以下を実行します。
rclone config show <remote-name>
出力に表示されるknown_hosts_fileのパスを確認し、そのファイルをテキストエディタで開いて、該当ホストの古いエントリを削除します。次回の接続時に新しい鍵を信頼するよう促され、正しく保存されます。
ファイアウォールとタイムアウトの問題を修正する
接続試行がエラーなしで止まってしまう場合、またはdial tcp: connection timed outが発生する場合、サーバー側またはクライアント側のネットワークでポート22がファイアウォールによってブロックされている可能性が高いです。Terminalタブでrclone about <remote-name>:を使い、rcloneがサーバーに到達できるかをテストし、直接ターミナルからのSSH接続の結果と比較してください。SSHクライアントは成功するのにrcloneがタイムアウトする場合は、お使いのマシンや社内ネットワークが、ブ ラウザ以外の接続に影響するアウトバウンドのファイアウォールルールを適用していないか確認してください。アウトバウンドのポート22をブロックするネットワークの場合、サーバー管理者にSFTPを別のポート(よくあるのはポート443)で公開してもらうよう依頼し、RcloneViewのリモート設定のPortフィールドをそれに応じて更新してください。
失敗した転送後にジョブ履歴を確認する
接続が安定したら、Job Historyビューを確認し、これまでの失敗した実行によって転送先に不完全なファイルが残っていないかを確認します。RcloneViewは各ジョブのステータス、転送件数、速度、エラーコードを記録します。ざっと確認するだけで、再実行が必要な不完全な同期を特定でき、Dry Runオプションを使えば、操作を実行する前にどのファイルがコピーまたは削除されるかを正確にプレビューできます。
はじめに
- rcloneview.comからRcloneViewをダウンロードします。
- Remote タブ > New Remote > SFTPを開き、ホスト名(
sftp://プレフィックスなし)、ポート、ユーザー名、認証情報を入力します。 - Settingsで DEBUGログを有効にし、エラー発生時にSSHハンドシェイクの全過程を記録できるようにします。
- 転送に失敗した場合はJob Historyを確認し、再実行が必要な不完全な同期を特定します。
正しい認証情報とrcloneのログ出力を明確に把握していれば、ほとんどのSFTPエラーは迅速に解決できます。RcloneViewを使えば、結果の検証や生産的なファイル転送への復帰も簡単に行えます。
関連ガイド:
- FTPサーバーファイルを管理 — RcloneViewでクラウド同期とバックアップ
- RcloneViewでSFTPとSMBをローカルドライブとしてマウント
- RcloneViewでrcloneのエラーをトラブルシューティング