ガイド

Windows で SFTP サーバーに接続する方法(パスワード・鍵ファイル)

取引先や銀行、ホスティング会社から、ホスト名とユーザー名、そしてパスワードか鍵ファイルが届いた。それぞれの意味と、Windows からの接続方法(アプリ、または標準の sftp コマンド)、よくあるエラーメッセージの意味をまとめました。

· 7 分で読めます · Vlad Fedoniuk

SFTP のアクセス情報が届きました。取引先が自社サーバーにファイルを置いてほしいと言ってきた、銀行が毎日のアップロードを求めている、あるいはホスティング会社がサイトへのアクセスを用意してくれた、といった場面です。メッセージにはホスト名、ユーザー名、そしてパスワードか添付の鍵ファイルが書かれていますが、Windows でそれをどう使うかはどこにも書かれていません。

このガイドでは、それぞれの情報の意味、接続する 2 つの方法(アプリ、または Windows に最初から入っている sftp コマンド)、そしてよくあるエラーメッセージが何を伝えているかを説明します。

受け取った情報の意味

受け取った情報その意味
ホスト(例:sftp.example.com)サーバーのアドレスです。名前ではなく IP アドレスの場合もあります。
ポート特に指定がなければ 22 です。2222 など別のポートを使うホストもあるので、送られてきた番号をそのまま使ってください。
ユーザー名そのサーバーでのあなたのアカウントです。特に指示がない限り、メールアドレスではありません。
パスワードパスワードでログインするためのものです。代わりに鍵を求めるサーバーや、鍵とパスワードの両方を求めるサーバーもあります。
鍵ファイル:.ppk、.pem、id_rsa、id_ed25519鍵認証で使う、あなたの秘密鍵です。鍵自体にパスフレーズが付いていることもあります。
SHA256:... のようなフィンガープリントサーバーのホスト鍵フィンガープリントです。初回接続時に、正しいサーバーにつながったかを確認するために使います。
/incoming のようなフォルダーアップロードしてよい場所です。取引先のサーバーでは、ここが唯一書き込める場所であることがよくあります。
sftp://user@host:2222/incoming のようなリンク上の情報のほとんどを 1 行にまとめたものです。多くのアプリはそのまま受け付けます。

メールに書かれていないことが多い点が 1 つあります。多くの取引先は、登録済みのアドレスからの接続しか受け付けません。IP アドレスを聞かれていたら、試す前にオフィスのグローバル IP を伝えておきましょう。

アプリで接続する

グラフィカルなクライアントなら、サーバーの中身をすぐに見られて、ドラッグでファイルを出し入れできます。FTPie の場合:

  1. ストレージを追加を選び、SFTP を選びます。
  2. ホスト、ポート、ユーザー名を入力します。sftp:// のリンクを受け取っている場合は、リンク全体をホスト欄に貼り付けると、ポート、ユーザー名、パスワード、フォルダーが自動で入力されます。設定 > Windows との統合 > ftp:// と sftp:// のリンクを FTPie で開くをオンにしておけば、リンクをクリックするだけで、入力済みかつ接続テスト済みの状態でこのフォームが開きます。
  3. 認証方法でパスワード認証か鍵認証を選びます。サーバーが鍵とパスワードの両方を求める場合は二要素認証を選びます。
  4. 鍵を使う場合は、秘密鍵の横のファイルを選択をクリックして鍵ファイルを選びます。パスフレーズがあれば入力します。
  5. 必要に応じて /incoming などの初期ディレクトリを指定し、接続テストをクリックします。
  6. 初回接続時、FTPie はサーバーのホストキー情報を表示します。送られてきたフィンガープリントと比べてから、承諾をクリックします。
FTPie の SFTP 接続設定:ホスト、ポート、ユーザー名、パスワードまたは SSH 鍵による認証
ホスト、ポート、ユーザー名を入れたら、パスワードか鍵ファイル、またはその両方を指定します。

SFTP は、個人利用なら FTPie の無料プランで使えます(FTP、FTPS、SFTP サーバー合わせて 3 つまで)。仕事で使う場合は、FTPie Pro を無料で試せます。

鍵ファイル:.ppk、.pem、OpenSSH のどれ?

  • .ppk は PuTTY の形式で、PuTTYgen で作られます。バージョン 2 と 3 の 2 種類があります。
  • .pem は PEM 形式の鍵です。たとえば AWS が EC2 サーバー用に発行する鍵がこれです。
  • 拡張子のない id_rsa や id_ed25519 は、ssh-keygen で作られた OpenSSH の鍵です。
  • 末尾が .pub のファイルは公開鍵のほうです。サーバーに置くもので、クライアントに読み込むことはありません。

多くの解説は、PuTTYgen で形式を変換するところから始まります。FTPie は 3 つの形式すべてを、パスフレーズの有無にかかわらずそのまま読み込めるので、この手順は不要です。読み込めないファイルがあれば、パスフレーズがない(または間違っている)、秘密鍵ではない、.pub ファイルを選んだ、といった理由を表示します。

鍵認証を選んだ FTPie の SFTP フォーム:ホスト sftp.example.com、ユーザー exports、秘密鍵 id_ed25519、任意のパスフレーズ
ssh-keygen で作ったままの OpenSSH 鍵による鍵認証。.ppk や .pem のファイルも同じ欄で指定できます。

ただし、変換が必要なケースが 1 つだけあります。Windows 標準の sftp コマンドは .ppk ファイルを読めません。PuTTYgen で鍵を開き、Conversions > Export OpenSSH key を使ってください。逆方向は、PuTTYgen の Load のあと Save private key で、.pem を .ppk に変換できます。

Windows 標準の sftp コマンドで接続する

Windows 10 と 11 には OpenSSH クライアントが入っています。PowerShell またはコマンド プロンプトで次のように実行します。

sftp -P 22 exports@sftp.example.com

ポートは大文字の -P で指定します。小文字の -p は sftp では別の意味です。初回は、sftp がサーバーのフィンガープリントを表示して Are you sure you want to continue connecting (yes/no/[fingerprint])? と尋ねます。送られてきたものと比べてから yes と入力し、続けてパスワードを入力します。鍵ファイルを使う場合は次のとおりです。

sftp -i C:\Users\you\.ssh\id_ed25519 exports@sftp.example.com

接続後は、ls でファイル一覧、cd でフォルダー移動、put でアップロード、get でダウンロード、bye で終了です。そのほかのコマンドは SFTP コマンドリファレンスに、毎日のアップロードを定期実行のジョブにする方法は FTP/SFTP 転送の自動化にまとめています。

接続できないとき

  • "Permission denied (publickey)":サーバーは鍵認証しか受け付けておらず、提示した鍵が登録されていません。.pub ではなく秘密鍵を読み込んだか、サーバーの管理者があなたの公開鍵を登録したかを確認してください。
  • "Permission denied (password)"、またはアプリでの認証エラー:ユーザー名かパスワードが間違っています。ほとんどのサーバーでは、ユーザー名の大文字と小文字が区別されます。
  • "Connection timed out":何も応答がありません。原因はたいてい、ファイアウォール、ポートの間違い、または許可した IP アドレスしか受け付けないサーバーです。
  • "Connection refused":マシンは応答しましたが、そのポートで待ち受けているものがありません。ポート番号を確認してください。
  • "Host key verification failed"、またはホスト鍵が変わったという警告:サーバーの鍵が、PC に保存されている鍵と一致しなくなっています。サーバーを再構築しただけの場合もあれば、もっと悪いことが起きている場合もあるので、新しい鍵を承諾する前にサーバーの管理者に確認してください。Windows の sftp なら、ssh-keygen -R sftp.example.com で古いエントリーを削除できます。
  • アップロード時の "Permission denied":接続はできていますが、その場所には書き込めません。取引先のサーバーでは、/incoming のような 1 つのフォルダーにしかアップロードできないことがよくあります。
  • FileZilla の "Could not connect to server" は上のほとんどを含みます。どれに当たるかはメッセージログで分かります。

取引先に連絡する前に、3 つの無料チェックで原因を絞り込めます。SFTP 接続テスター(そもそもインターネットからサーバーが応答するか)、SFTP 認証方式チェッカー(パスワード、鍵、その両方のどれを求めているか)、SFTP ホスト鍵フィンガープリント(どの鍵を提示しているか)です。許可したアドレスしか受け付けないサーバーは、これらのチェックも拒否します。

さあ、はじめましょう 30日間の無料トライアル

FTPie をダウンロードして、30日間の無料トライアルを始めましょう。FTP とクラウドをひとつにまとめた操作性を試し、期間終了後も無料版をそのままお使いいただけます。

無料トライアルをダウンロード
CASA 認証済み・VirusTotal スキャン済み
30日間トライアル · 無料版つき
Windows 10 & 11
Vlad Fedoniuk

Vlad Fedoniuk

FTPie の創業者であり開発者です。日々のデジタルな暮らしをかんたんに、そして豊かにするソフトウェアづくりに取り組んでいます。個人サイトはこちら fedoni.uk 、または次の場所でつながれます X (formerly Twitter) , LinkedIn 、またはメールでご連絡ください vlad@ftpie.com