結論

WinSCPは、Windowsとサーバーの間でファイルをやり取りする無料のソフトです。既定は SFTP で、SSH の22番ポートを使います。

この記事でわかること

  • 接続から同期まで使い方5ステップと鍵認証の手順
  • SFTP・SCP・FTPの違い表(暗号化・ポート・再開)
  • 11のエラーの原文とサーバーログ・直し方の対応表

2026年10月17日更新|WinSCP 6.7の公式文書・OpenSSH 9.6p1で再現

WinSCP は SSH でサーバーにつなぎ、ホスト鍵を確かめてからログインし、SFTP でファイルを読み書きします。

flowchart TD
    A[WinSCP(Windows)] -->|1 SSHで接続 22番| B[サーバーの sshd]
    B -->|2 ホスト鍵を見せる| A
    A -->|3 パスワードか鍵| B
    B --> C[SFTPサーバー]
    C --> D[サーバー上のファイル]

よく調べられることへの答えを先にまとめます。

知りたいこと 答え 詳しくは
WinSCPとは Windows用の無料のSFTP・FTPクライアント WinSCPとは
ダウンロード winscp.net の Download。6.7 で 13 MB ダウンロードとインストール
接続のしかた ホスト名・ポート・ユーザー名を入れて Login サーバーに接続する
初回に出る警告 ホスト鍵の確認。指紋を確かめて Accept 初回のホスト鍵の確認
鍵認証(.ppk) PuTTYgen で作るか変換し、Private key file に指定 鍵認証の設定
つながらない 表示の原文で原因が分かれる よくあるエラーと直し方
Mac・Linuxでは WinSCPは無い。sftp・scp コマンドで同じことができる sftp・scpコマンドとの対応

確認環境:WinSCP は Windows 専用のため、版・画面の項目名・エラーの原文は WinSCP 6.7 の公式ドキュメント(winscp.net)で確かめました。サーバー側は Ubuntu 24.04 で OpenSSH 9.6p1 の sshd を立て、クライアント用とサーバー用のネットワーク名前空間(ip netns)を分けて、sftp・scp コマンド(OpenSSH 9.6p1)と、WinSCP と同じ PuTTY 系の psftp・puttygen(PuTTY 0.81)で同じ操作とエラーを起こし、サーバーのログと出力を載せています(確認日 2026年10月17日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「WinSCPとは・使い方|ダウンロードから鍵認証・エラー対処まで」

WinSCPとは(できること・対応プロトコル・料金)

WinSCP は、Windows で動くオープンソースの無料ソフトで、SFTP・SCP・FTP・WebDAV・S3 のクライアントとファイルマネージャーを兼ねています。 主な用途は、手元のパソコンとサーバーの間のファイル転送です。読み方は「ウィンエスシーピー」です。

公式の紹介ページに書かれている主な機能は次のとおりです。

機能 内容
画面 Commander(左右2画面)と Explorer(エクスプローラー風)の2種類
転送 ドラッグ&ドロップ、F5 キーでのアップロード
同期 ローカルとサーバーのフォルダを比べてそろえる
編集 サーバー上のファイルを内蔵エディターで直接編集
認証 パスワード・公開鍵・キーボードインタラクティブ・Kerberos
PuTTY 連携 保存したサイトを PuTTY で開く。鍵の管理に Pageant を使う
自動化 スクリプト・コマンドライン・.NET アセンブリ
持ち運び 設定をレジストリではなく INI ファイルに置くポータブル版
言語 日本語を含む多言語(日本語の翻訳は 100%)

料金は無料で、会社での利用も無料です。 ライセンスは GNU GPL バージョン3 で、公式のライセンスページは、個人・教育機関・企業のいずれも「どの目的でも無料で使える」としています。Microsoft Store 版もあり、こちらは $19.99 です(2026年10月17日時点。インストール手順のページに記載)。

対応 OS は Windows 7/2008 以降、Windows 11・Windows Server 2025 までです。 SP1 の無い Windows 7/2008 R2 ではインストーラーが動きません。Mac・Linux 版はありません。

WinSCP の SSH の部分は PuTTY のコードを元にしています。更新履歴には、6.6.3 RC で「SSH の中核と鍵のツール(PuTTYgen・Pageant)を PuTTY 0.85 に更新」とあります。エラーの文言が PuTTY と同じものが多いのはこのためです。

日本語の画面と、この記事のメニュー名

インストーラーの言語選択で日本語を選ぶと、画面が日本語になります。一方、公式ドキュメントは大部分が英語です。この記事では、公式ドキュメントに書かれた英語の項目名(例:File protocol、Advanced、Private key file)で書きます。日本語版では、これが日本語に訳された名前で表示されます。

SFTP・SCP・FTPの違い(どれを選ぶか)

WinSCP の公式ドキュメントは、既定では SFTP を使い、使えなければ SCP に切り替えると書いています。違いは次のとおりです。

項目 SFTP SCP FTP(FTPS)
暗号化 SSH で暗号化 SSH で暗号化 FTP は暗号化なし。FTPS は TLS
既定のポート 22 22 21(暗黙の FTPS は 990)
転送の再開 できる WinSCP では不可 できる
権限・日時の変更 できる できる サーバーの MFMT 拡張が要る
速さ(公式の目安) 一般に最も遅い 中くらい 転送は最も速く、接続準備が遅い

SCP には、WinSCP の文書で次の制約が挙げられています。

  • 転送を途中で止めるには、セッションごと切る必要がある。
  • 再開・追記ができない。
  • サーバーのシェル(bash 推奨)のコマンドを使うため、ls などの出力が英語である必要がある。

FTP は、パスワードもファイルの中身も暗号化されずに流れます。FTPS には「明示(Explicit)」と「暗黙(Implicit)」の2方式があり、暗黙の FTPS は最初から TLS で接続し、制御に 990 番を使います。

選び方の流れです。

flowchart TD
    Q{サーバーに SSH で入れる} -->|はい| S[SFTP を選ぶ]
    S -->|SFTP が無効と出る| C[SCP を選ぶ]
    Q -->|いいえ| F{FTP だけ使える}
    F -->|はい| T[FTP で TLS を使う]

ホスティングサービスで FTP しか案内が無い場合でも、SSH(SFTP)が使えることがあります。サーバーの管理者や案内のページで、SSH の可否を確かめてから選びます。

WinSCPのダウンロードとインストール

公式サイト winscp.net の Download ページから、インストーラー(WinSCP-6.7-Setup.exe、13 MB)を取得します。 6.7 は 2026年10月14日に公開された最新の安定版です(2026年10月17日時点)。インストールせずに使う「Portable executables」は、同じページの「Other Downloads」にあります。

1

winscp.net の Download から WinSCP-6.7-Setup.exe を取得する

Microsoft Store 版($19.99)もある

2

ダブルクリックで起動し、言語を選ぶ

ここで日本語を選ぶと、インストール後の画面も日本語になります。

3

ライセンスを読んで Accept

GPL バージョン3

4

セットアップの種類で Typical installation を選ぶ

公式は、基本の設定にはこれを選ぶよう書いています。

5

画面のスタイルを Commander か Explorer から選ぶ

Commander は左にパソコン、右にサーバーの2画面です。Windows のエクスプローラーに慣れていれば Explorer。あとから変えられます。

6

Install を押す

一部の機能は、エクスプローラーかパソコンの再起動のあとで使えるようになる

ポータブル版は、起動したフォルダに実行ファイルと同じ名前の INI ファイル(WinSCP.exe なら WinSCP.ini)を作り、そこに設定を保存します。USB メモリに入れて持ち歩けます。

WinSCPの使い方①:サーバーに接続する

起動すると Login ダイアログが開きます。入れる項目は次のとおりです。

項目(公式の表記) 入れるもの 例
File protocol SFTP・SCP・FTP・WebDAV・S3 SFTP
Host name サーバー名か IP アドレス(必須はここだけ) example.com
Port number 標準と違うときだけ変える 22
User name サーバーのユーザー名 taro
Password パスワード。サイトを保存するなら空けておく (空)

入れたら Save でサイトとして保存し、Login で接続します。公式は、サイトを保存する場合はパスワードを入れないよう勧めています。既定のポートは SSH が 22、FTP が 21、暗黙の FTPS が 990、WebDAV が 80、WebDAVS と S3 が 443 です。

鍵の指定・プロキシ・接続の待ち時間などは、Advanced ボタンで開く Advanced Site Settings で設定します。

初回のホスト鍵の確認(Accept の前に指紋を見る)

初めて接続するサーバーでは「Continue connecting to an unknown server and add its host key to a cache?」と表示されます。 接続先が本物のサーバーかを、ホスト鍵の指紋(フィンガープリント)で確かめる画面です。

ボタン 動き
Accept 鍵を保存して接続する。次からは聞かれない
Connect Once(Accept の▼) 保存せずに今回だけ接続する
Paste Key(Accept の▼) クリップボードの指紋か .pub と照合する
Cancel 接続しない

公式は、指紋をサーバーの管理者など別の経路で確かめ、一致したら Accept、分からなければ Cancel、としています。

OpenSSH の sftp コマンドで同じサーバーに初めて接続すると、次のように表示されました。

sftp -P 26400 taro@10.64.64.2
The authenticity of host '[10.64.64.2]:26400 ([10.64.64.2]:26400)' can't be established.
ED25519 key fingerprint is SHA256:7HzNR1P8OrWkLLB7UX+aY0tgsztT42ooBIsz84i+T10.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[10.64.64.2]:26400' (ED25519) to the list of known hosts.
Connected to 10.64.64.2.

WinSCP と同じ PuTTY 系の psftp では、次の形でした。ssh-ed25519 255 SHA256:… は WinSCP が表示する指紋と同じ書き方です。

The host key is not cached for this server:
  10.64.64.2 (port 26400)
You have no guarantee that the server is the computer you
think it is.
The server's ssh-ed25519 key fingerprint is:
  ssh-ed25519 255 SHA256:+WkBSiETVGlzKKKHmqtNnLOFTKcOpsrWpR8XsKq6MOg
If you trust this host, enter "y" to add the key to PSFTP's
cache and carry on connecting.
If you want to carry on connecting just once, without adding
the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n, Return cancels connection, i for more info) y
Using username "taro".
Remote working directory is /home/taro

サーバーの管理者は、サーバー上で次のコマンドを実行すると指紋を確かめられます。表示された SHA256:… が、WinSCP の画面の指紋と一致すれば本物です。

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
256 SHA256:+WkBSiETVGlzKKKHmqtNnLOFTKcOpsrWpR8XsKq6MOg host-new2 (ED25519)

OpenSSH は ED25519 の鍵を「256」、PuTTY 系は「255」と表示しました。同じ鍵でも数字の表記が違うだけで、SHA256: 以降が同じなら同じ鍵です。

WinSCPの使い方②:ファイルを転送する

転送は、ファイルを左右の画面の間でドラッグ&ドロップします。 Commander の画面では左がパソコン(Local)、右がサーバー(Remote)です。キーボードでは次の操作があります。

操作 方法(公式の表記)
アップロード ファイルを右の画面へドラッグ。左の画面で F5(Files > Upload)
アップロードして手元を消す F6(Files > Upload > Upload and Delete)
ダウンロード ファイルを右から左の画面へドラッグ
エクスプローラーから送る 「送る」メニューに WinSCP を組み込む
転送の設定を変える 転送前に出る transfer options のダイアログで変える
裏で転送する 転送キュー(queue)に入れる

アップロードは既定では前面で動き、終わるまで WinSCP の画面が操作できません。大きいファイルは転送キューに入れると、転送中も操作できます。

転送モード(Binary・Text・Automatic)

WinSCP には3つの転送モードがあり、既定は Automatic です。

モード 動き
Automatic(既定) ファイル名(主に拡張子)で Text か Binary を決める
Text 改行コードを転送先の形式に変える
Binary 1バイトも変えずに送る

Automatic で Text 扱いになるのは、既定では HTML・TXT・PHP・XML・INI・C・CPP などです。公式は、Word の文書のようなバイナリのファイルに Text を使ってはいけないとしています。

sftp コマンドは改行を変えません。Windows の改行(CRLF)のファイルを sftp で送ると、サーバー上でも CRLF のままでした。

0000000   a  \r  \n   b  \r  \n
0000006
public_html/crlf.txt: ASCII text, with CRLF line terminators

シェルスクリプトを CRLF のままサーバーに置くと、実行時にエラーになることがあります。WinSCP の Automatic のまま送るか、エディターの改行コードを LF にしておきます。

サーバー側で見えるもの

WinSCP でアップロード・一覧・ダウンロードをすると、サーバーの SFTP サーバー(sftp-server)は1件ずつ記録を残します。sftp コマンドで put・ls -l・get をしたときのログです(sftp-server を -l INFO で動かした場合)。

session opened for local user taro from [10.64.64.1]
open "/home/taro/public_html/index.html" flags WRITE,CREATE,TRUNCATE mode 0644
close "/home/taro/public_html/index.html" bytes read 0 written 15
open "/home/taro/public_html/big.bin" flags WRITE,CREATE,TRUNCATE mode 0644
close "/home/taro/public_html/big.bin" bytes read 0 written 5242880
opendir "/home/taro/public_html"
closedir "/home/taro/public_html"
open "/home/taro/public_html/index.html" flags READ mode 0666
close "/home/taro/public_html/index.html" bytes read 15 written 0
session closed for local user taro from [10.64.64.1]

途中で切れた転送の再開

SFTP は転送の再開ができます。サーバー上の 5,242,880 バイトのファイルを 2,097,152 バイトに切り詰めてから、sftp の reput で送り直すと、残りの 3,145,728 バイトだけが追記されました。

open "/home/taro/public_html/big.bin" flags WRITE,APPEND,CREATE mode 0644
close "/home/taro/public_html/big.bin" bytes read 0 written 3145728

WinSCP の文書では、SCP は再開に対応していません。大きいファイルを送るなら SFTP を選びます。

WinSCPの使い方③:フォルダを同期する

フォルダをそろえるには Commands > Synchronize を使います。 方向・モード・比べる基準を選びます。

設定 選べるもの 意味
Direction Remote/Right パソコンの変更をサーバーへ反映
Direction Local/Left サーバーの変更をパソコンへ反映
Direction Both 両方の新しいほうへそろえる
Mode Synchronize files 新しいファイルだけ送る
Mode Mirror files 違うファイルを送る(古さを問わない)
Mode Synchronize timestamps 日時だけそろえる(SFTP のみ)
Comparison criteria Modification time(既定)・File size・Checksum 何で違いを判断するか

オプションの Delete files を付けると、転送元に無いファイルを転送先から消します。Preview changes を付けると、実行前に「synchronization checklist」で1件ずつ確かめられます。消す操作は戻せないので、最初は Preview changes を付けて確かめます。

Commands > Keep Remote Directory up to Date は、パソコンのフォルダを見張り、変更があるたびにサーバーへ同期します。公式は次の注意を挙げています。

  • 何が変わったかではなく「変わった」ことだけを受け取るため、ほかのずれたファイルも送られることがある。最初にフォルダをほぼそろえてから始める。
  • 名前の変更は「削除+追加」として扱われる。
  • 見張るサブフォルダが 500 を超えると警告が出る。

コマンドで同じことをするなら rsync を使います。関連記事「rsyncの使い方|オプション一覧と目的別コピペ例(実行結果つき)」で扱っています。

鍵認証の設定(PuTTYgenと.ppk)

WinSCP の鍵認証では、PuTTY 形式(.ppk)の秘密鍵を使います。 PuTTYgen は WinSCP に同梱されていて、Login ダイアログの Tools > PuTTYgen で開けます。

1

PuTTYgen で鍵を作る

Generate を押し、空白の部分でマウスを動かします。RSA・DSA・ECDSA・EdDSA(Ed25519)を作れます。

RSA なら 2048 ビットで多くの用途に足りると公式は書いている

2

パスフレーズを付けて Save private key

.ppk ファイルができます。既定は PPK バージョン3 です。

3

公開鍵をサーバーの authorized_keys に1行で入れる

「Public key for pasting into OpenSSH authorized_keys file」の欄の文字列を使います。パスワードでログインできるなら、メイン画面の Session > Install Public Key into Server でも入れられます。

~/.ssh は 700、authorized_keys は 600

4

Advanced > SSH > Authentication の Private key file に .ppk を指定する

Save でサイトを保存し、Login で接続します。

OpenSSH 形式の鍵(id_ed25519・.pem)を使うとき

ssh-keygen で作った鍵や、クラウドで発行された .pem の鍵は OpenSSH 形式です。WinSCP の Private key file に OpenSSH 形式の鍵を指定すると、PuTTY 形式への変換を提案されます。 PuTTYgen の Conversions > Import で読み込み、.ppk で保存しても同じです。

コマンド版の puttygen(PuTTY 0.81)で、OpenSSH の Ed25519 の鍵を .ppk に変換した結果です。

puttygen ~/.ssh/id_ed25519 -O private -o taro.ppk
head -4 taro.ppk
PuTTY-User-Key-File-3: ssh-ed25519
Encryption: none
Comment: taro@pc
Public-Lines: 2

1行目の PuTTY-User-Key-File-3 が PPK バージョン3 の印です。前の WinSCP・PuTTY や、バージョン3に対応していないツールで使うときだけ、バージョン2で保存します。公式は、バージョン2は総当たりでの解読に弱いとしています。

puttygen ~/.ssh/id_ed25519 -O private --ppk-param version=2 -o taro_v2.ppk
head -1 taro_v2.ppk
PuTTY-User-Key-File-2: ssh-ed25519

逆に、.ppk から OpenSSH 形式に戻すこともできます。

puttygen taro.ppk -O private-openssh-new -o id_from_ppk
head -1 id_from_ppk
puttygen taro.ppk -O public-openssh
-----BEGIN OPENSSH PRIVATE KEY-----
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH0ipvnzmgS1+Y0M7IgLO7Q5jd0kD+DBLonrixvln4AA taro@pc

サーバー側の置き場所と権限

鍵でログインできたときの、サーバー上の権限です。

755 /home/taro
700 /home/taro/.ssh
600 /home/taro/.ssh/authorized_keys

このとき sshd のログには、どの鍵が authorized_keys の何行目に一致したかが出ます(LogLevel VERBOSE の場合)。

Accepted key ED25519 SHA256:ZhsrBVWYaaY29dIgGuXlsFtHzjugfsYpiGoz6Raeyhw found at /home/taro/.ssh/authorized_keys:1
Accepted publickey for taro from 10.64.64.1 port 33254 ssh2: ED25519 SHA256:ZhsrBVWYaaY29dIgGuXlsFtHzjugfsYpiGoz6Raeyhw
Starting session: subsystem 'sftp' for taro from 10.64.64.1 port 33254 id 0

鍵を使うたびにパスフレーズを入れたくない場合は、秘密鍵を Pageant(PuTTY の鍵エージェント)か OpenSSH の ssh-agent に読み込ませ、Authentication のページの Attempt Authentication Using Agent を使います。

関連記事「SSH鍵の作成とGitHub接続|Permission deniedの対処法」で扱っています。

WinSCPのよくあるエラーと直し方

WinSCP の表示と、同じ状況をサーバーで再現したときの OpenSSH の表示・sshd のログを並べます。サーバーのログに何も出ないエラーは、通信がサーバーまで届いていません。

WinSCPの表示 OpenSSH(sftp)の表示 sshd のログ 直し方
Continue connecting to an unknown server and add its host key to a cache? The authenticity of host … can't be established. 出ない(エラーではない) 指紋を確かめて Accept
Warning – Potential security breach! WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 出ない 鍵の変更を管理者に確かめて Update
Access denied Permission denied, please try again. Failed password for taro ユーザー名・パスワードを直す
Server refused our key Permission denied (publickey,password). Failed publickey/bad ownership or modes 公開鍵を登録し、権限を 700・600 に
Unable to use this private key file (psftp)Unable to use key file … (OpenSSH SSH-2 private key (new format)) 出ない .ppk に変換する
Permission denied(ファイル操作) dest open "…": Permission denied sent status Permission denied 所有者・書き込み権限を直す
Network error: Connection to "…" refused Connection refused 出ない ポート・プロトコル・サーバーの起動
Network error: Connection to "…" timed out Connection timed out 出ない ファイアウォール・VPN・IP を確かめる
Too many authentication failures Too many authentication failures maximum authentication attempts exceeded エージェントの鍵を減らす
Received too large (… B) SFTP packet Received message too long 1466264675 出ない .bashrc などの出力を消す
Cannot initialize SFTP protocol subsystem request failed on channel 0 subsystem not found SFTP を有効にするか SCP を選ぶ

つながらないときは、次の順に確かめると原因を早く絞れます。

  • 1表示の原文を控えるrefused・timed out・Access denied・refused our key で原因の層が違う
  • 2File protocol とポート番号が、サーバーの案内と合っているかSFTP は 22、FTP は 21 が既定。独自のポートなら入れ直す
  • 3社内のネットワークや VPN の条件を満たしているかプロキシが要るなら Advanced の Proxy で設定する
  • 4サーバーの sshd のログに、接続の記録があるか無ければ届いていない(ネットワーク)。あれば認証か権限の問題
  • 5WinSCP のセッションログを取るPreferences の Logging で Enable session logging on level にチェック

ホスト鍵の警告(Warning – Potential security breach!)

「The server’s host key does not match the one WinSCP has in cache」は、前回保存したホスト鍵と、今回サーバーが見せた鍵が違うという警告です。 サーバーの入れ替え・OS の再インストールで鍵が変わった場合と、別のコンピューターがサーバーになりすましている場合があります。

公式の対処は次のとおりです。

  • 鍵を変える予定があったかを、サーバーの管理者に確かめる。
  • 予定どおりなら、初回の接続と同じように新しい鍵の指紋を確かめて Update を押す。
  • 1つのアドレスで複数の SSH サーバーに振り分けている場合は、Add で鍵を追加する。

サーバーのホスト鍵を作り直してから sftp で接続すると、次のように止まりました。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:+WkBSiETVGlzKKKHmqtNnLOFTKcOpsrWpR8XsKq6MOg.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /root/.ssh/known_hosts:1
  remove with:
  ssh-keygen -f '/root/.ssh/known_hosts' -R '[10.64.64.2]:26400'
Host key for [10.64.64.2]:26400 has changed and you have requested strict checking.
Host key verification failed.

psftp(PuTTY 系)では、WinSCP と同じ題名の警告でした。

WARNING - POTENTIAL SECURITY BREACH!
The host key does not match the one PSFTP has cached for
this server:
  10.64.64.2 (port 26400)
This means that either the server administrator has changed
the host key, or you have actually connected to another
computer pretending to be the server.
The new ssh-ed25519 key fingerprint is:
  ssh-ed25519 255 SHA256:1tSZdywUDy+5ffdgBgvsQ9d/+33zLWxh8JDSjkdPezg

OpenSSH の側で前の鍵を消すコマンドと結果です。消したあとは、初回と同じ確認画面が出ます。

ssh-keygen -R '[10.64.64.2]:26400'
# Host [10.64.64.2]:26400 found: line 1
/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old

鍵が変わる理由に心当たりが無いまま Update を押すと、なりすましたサーバーにパスワードやファイルを渡すおそれがあります。

Access denied(パスワードが違う・ユーザーがいない)

「Access denied」は、認証に失敗したという表示です。 公式は、パスワードの誤り・許可されていない鍵・存在しないユーザー名・無効や期限切れのアカウント・同時接続数の上限・許可されていない root でのログインを原因に挙げ、まずサーバーのログを見るよう勧めています。

psftp で間違ったパスワードを送ると、WinSCP と同じ「Access denied」が出ました。

Using username "taro".
Access denied
FATAL ERROR: Configured password was not accepted

sftp コマンドで3回間違えたときと、存在しないユーザー(hanako)で入ろうとしたときの表示と、sshd のログです。

Permission denied, please try again.
Permission denied, please try again.
taro@10.64.64.2: Permission denied (publickey,password).
Failed password for taro from 10.64.64.1 port 50170 ssh2
Failed password for taro from 10.64.64.1 port 50170 ssh2
Failed password for taro from 10.64.64.1 port 50170 ssh2
Invalid user hanako from 10.64.64.1 port 50178
Failed password for invalid user hanako from 10.64.64.1 port 50178 ssh2

利用者の画面では、パスワードの誤りもユーザーが存在しない場合も同じ表示です。違いはサーバーのログ(Invalid user)にだけ出ます。

root で入れない場合は、sshd_config の PermitRootLogin を確かめます。OpenSSH の既定は prohibit-password(パスワードでの root ログインは不可)で、no なら鍵でも入れません。

Server refused our key(鍵が登録されていない・権限が広い)

「Server refused our key」は、WinSCP が送った公開鍵をサーバーが受け付けなかったという表示です。 原因は、そのユーザーの authorized_keys に鍵が無いか、鍵のファイル・ホームディレクトリの権限や所有者が正しくないことです。

登録していない鍵の .ppk で psftp から接続した結果です。

Using username "taro".
Server refused our key

sshd のログで、原因が2つに分かれます。

試したこと sshd のログ
登録していない鍵で接続 Failed publickey for taro from 10.64.64.1 port 57656 ssh2: ED25519 SHA256:ttcIbAs9…
authorized_keys を 666 にした Authentication refused: bad ownership or modes for file /home/taro/.ssh/authorized_keys
ホームディレクトリを 777 にした Authentication refused: bad ownership or modes for directory /home/taro

権限の問題は、sshd_config の StrictModes(既定 yes)による拒否です。OpenSSH のマニュアルは、StrictModes を「ログインを受け付ける前に、ユーザーのファイルとホームディレクトリの権限と所有者を確かめる」設定と説明しています。直し方はサーバー上で次のとおりです。

chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

関連記事「chmodの755と644の意味|用途別パーミッション早見表」で扱っています。

Unable to use this private key file(鍵の形式が違う)

「Unable to use this private key file」「Couldn’t load private key」「Key is of wrong type」は、PuTTY 形式でない鍵を読ませたときの表示です。 公式は、OpenSSH 形式や ssh.com 形式の鍵は PuTTY 形式に取り込む(Import)よう書いています。

psftp に OpenSSH 形式の鍵をそのまま渡すと、鍵を使えずにパスワード認証へ進みました。

Unable to use key file ".ssh/id_ed25519" (OpenSSH SSH-2 private key (new format))
Using username "taro".
Access denied

WinSCP では、Private key file に OpenSSH 形式の鍵を選んだ時点で変換を提案されます。そのまま変換して .ppk を保存します。

Permission denied(ファイル操作の権限が無い)

ログインはできたのに、アップロード・削除・フォルダ作成で出る「Permission denied」は、サーバーのファイルの権限が足りないという表示です。 公式は、一覧にはフォルダの読み取り権限、ファイルの作成・削除にはフォルダの書き込み権限、権限や更新日時の変更には所有者であることが要る、としています。

root が持つ /home/shared(755)に、taro で書き込もうとしたときの sftp の表示と、sftp-server のログです。

sftp> put local/index.html /home/shared/index.html
dest open "/home/shared/index.html": Permission denied
open "/home/shared/index.html" flags WRITE,CREATE,TRUNCATE mode 0644
sent status Permission denied

ほかの操作の表示です。

操作 sftp の表示
root のファイルを上書き dest open "/home/shared/config.ini": Permission denied
フォルダを作る remote mkdir "/home/shared/new": Permission denied
ファイルを消す remote delete /home/shared/config.ini: Permission denied
権限を変える remote setstat "/home/shared/config.ini": Permission denied

公式によると、WinSCP は既定でアップロード時に更新日時も設定します。ファイルは書けたのに日時の設定で Permission denied になる場合は、所有者が自分でないファイルを上書きしています。

「Network error: Permission denied」はファイルの権限ではなく接続の段階の表示で、公式は Connection refused と同じ原因と対処を挙げています。

Network error: Connection refused(接続拒否)

「Network error: Connection to "…" refused」は、サーバーまで届いたが、そのポートで待っているプログラムが無いか、ファイアウォールに断られたという表示です。 公式は次の原因を挙げています。

  • サーバーが止まっている。
  • 接続先が SSH・FTP サーバーの無い普通の Windows パソコン。
  • プロトコルの違い(サーバーは FTP なのに SFTP を選んでいる、など)。
  • ポート番号が標準と違う。
  • プロキシが必要なネットワーク。
  • ファイアウォールが止めている。

待っていないポート(26401)に接続したときと、ファイアウォールで拒否(REJECT)したときは、どちらも同じ表示でした。

ssh: connect to host 10.64.64.2 port 26401: Connection refused

psftp の表示は FATAL ERROR: Connection refused で、sshd のログには何も残りません。

Network error: Connection timed out(タイムアウト)

「Network error: Connection to "…" timed out」は、相手から返事が無いまま待ち時間が切れたという表示です。 公式は、原因と対処は Connection refused と同じとしています。違いは、ファイアウォールが黙って捨てている(DROP)、経路が無い、IP アドレスが違う、VPN につないでいない、など「返事が来ない」場合に出ることです。

サーバー側のファイアウォールで、22番の代わりの 26400 番を DROP にして接続した結果です。

sftp -o ConnectTimeout=10 -P 26400 taro@10.64.64.2
ssh: connect to host 10.64.64.2 port 26400: Connection timed out

待ち時間を 10 秒にした sftp は約 10.5 秒で終わりました。待ち時間を決めない psftp は、OS の再送の上限まで待ち、FATAL ERROR: Connection timed out が出るまで 2分15秒かかりました。WinSCP の待ち時間は、Advanced Site Settings の Connection のページの Server response timeout で変えられます。

ファイアウォールの設定 表示 終わるまで
ポートを REJECT Connection refused すぐ
ポートを DROP(ConnectTimeout=10) Connection timed out 約10.5秒
ポートを DROP(psftp・指定なし) Connection timed out 2分15秒

関連記事「ufwとfirewalldの使い方|コマンド対応表とSSH締め出し対策」で扱っています。

Too many authentication failures(鍵を試しすぎ)

Pageant などのエージェントに鍵をたくさん入れていると、正しい鍵にたどり着く前に、サーバーの試行回数の上限で切られます。 sshd_config の MaxAuthTries の既定は 6 です。

登録していない鍵を7本渡して接続した結果と、sshd のログです。

Received disconnect from 10.64.64.2 port 26400:2: Too many authentication failures
Disconnected from 10.64.64.2 port 26400
Failed publickey for taro from 10.64.64.1 port 54648 ssh2: ED25519 SHA256:NKaOEzIl…
(同じ形の行が計6行)
maximum authentication attempts exceeded for taro from 10.64.64.1 port 54648 ssh2 [preauth]
Disconnecting authenticating user taro 10.64.64.1 port 54648: Too many authentication failures [preauth]

WinSCP の公式にも「Server sent disconnect message type 2 (protocol error): “Too many authentication failures for root”」のページがあります。そのサーバー用の鍵を Private key file で指定し、エージェントに入れる鍵を減らします。

Received too large SFTP packet(ログイン時の文字の出力)

「Received too large (… B) SFTP packet. Max supported packet size is 1024000 B」は、ログイン時に動くスクリプトが文字を出力し、それを SFTP のデータとして読んでしまったときに出ます。 公式によると、「…」の数字はサーバーから読んだ最初の4バイトです。

サーバーのユーザーの .bashrc に echo "Welcome to lab server" を書いてから sftp で接続した結果です。

Received message too long 1466264675
Ensure the remote shell produces no output for non-interactive sessions.

1466264675 を4バイトに分けると、文字列の先頭の「Welc」になります。WinSCP も最初の4バイトを数字として読むため、同じ状況では「Received too large (1466264675 B) SFTP packet」の形になる計算です。

公式の直し方は、出力しているコマンドを探し、対話でログインしたときだけ動くファイル(例:.bashrc から .bash_profile)へ移すか、消すことです。

Cannot initialize SFTP protocol(SFTPが使えない)

「Cannot initialize SFTP protocol. Is the host running a SFTP server?」は、SSH ではつながったが、サーバーで SFTP が動かなかったという表示です。 公式は、「Server unexpectedly closed network connection」などのメッセージと一緒に出ることがあり、Preferred SFTP protocol version を 3 に下げると安定することがある、としています。

sshd_config から Subsystem sftp の行を消したサーバーに接続した結果です。

subsystem request failed on channel 0
Connection closed
subsystem request for sftp by user taro failed, subsystem not found

このサーバーでも、昔の SCP の方式(scp -O)では転送できました。WinSCP では、File protocol で SCP を選べば接続できます。

WinSCPと同じ操作をsftp・scpコマンドで行う

Mac・Linux や、Windows のコマンドプロンプトでは、OpenSSH の sftp・scp コマンドで同じことができます。Windows には、Windows 10(ビルド 1809)・Windows Server 2019 以降で OpenSSH クライアントがあり、Windows Server 2025 以降は既定で入っています(Microsoft Learn)。

WinSCPの操作 コマンド
接続(ポート指定) sftp -P 26400 taro@10.64.64.2
鍵を指定して接続 sftp -i ~/.ssh/id_ed25519 taro@サーバー
アップロード put local/index.html(sftp の中)
ダウンロード get index.html(sftp の中)
再開 reput・reget(sftp の中)
1ファイルだけ送る scp -P 26400 local/big.bin taro@10.64.64.2:public_html/
同期 rsync -av --delete(サーバーにも rsync が要る)
指紋を固定して接続 psftp -hostkey SHA256:… -batch …(PuTTY 系)

OpenSSH 9.0 以降の scp は、既定で SFTP の方式で転送します(OpenSSH 9.0 のリリースノート)。scp でアップロードしたときも、サーバーの sftp-server のログに記録が残りました。

open "public_html/big.bin" flags WRITE,CREATE mode 0644
set "public_html/big.bin" size 5242880
close "public_html/big.bin" bytes read 0 written 5242880

昔の SCP の方式が要るときは scp -O を付けます。

関連記事「scp・sftpコマンドの使い方|オプション一覧と転送パターン集」で扱っています。

関連記事「ssh コマンドの使い方まとめ|鍵・ポート指定・config・接続エラー対処」で扱っています。

WinSCPを自動化する(スクリプト)

決まった転送を繰り返すなら、WinSCP のスクリプトを使います。 公式のガイドにある形です。

# Connect to SFTP server using a password
open sftp://user:password@example.com/ -hostkey="ssh-rsa 2048 xxxxxxxxxxx..."
# Upload file
put d:\examplefile.txt /home/user/
# Exit WinSCP
exit

バッチファイルからは次のように動かします。

winscp.com /ini=nul /log=myscript.log /script=myscript.txt

-hostkey には、接続先のホスト鍵の SHA-256 の指紋を書きます。指紋に空白が入るので引用符で囲みます。Ed25519 の鍵なら、psftp が表示した ssh-ed25519 255 SHA256:… の形です。鍵認証なら -privatekey=mykey.ppk を付けます。同期は synchronize remote -delete d:\www /home/martin/public_html のように書きます。-preview を付けると、変更の一覧だけを出して実際には同期しません。

ログイン画面の Manage メニューの Generate Session URL/Code を使うと、保存したサイトから open の行を作れます。

よくある質問

Q. WinSCPとは何ですか? A. Windows で動く無料のファイル転送ソフトです。SFTP・SCP・FTP・WebDAV・S3 に対応し、手元のパソコンとサーバーの間でファイルをやり取りします。「WinSCPとは」の節で説明しています。

Q. WinSCP の使い方の基本は? A. Login ダイアログで File protocol・Host name・User name を入れて Login し、左右の画面の間でファイルをドラッグします。「使い方①」「使い方②」の節にあります。

Q. WinSCP は無料ですか?会社で使えますか? A. 無料で、会社での利用も無料です。ライセンスは GPL バージョン3 です。Microsoft Store 版は $19.99 です(2026年10月17日時点)。

Q. WinSCP で鍵認証をするには? A. PuTTYgen で .ppk の鍵を作るか変換し、Advanced > SSH > Authentication の Private key file に指定します。公開鍵はサーバーの authorized_keys に入れます。「鍵認証の設定」の節で手順を示しています。

Q. Mac で WinSCP は使えますか? A. WinSCP は Windows 専用です。Mac では、標準の sftp・scp コマンドで同じ操作ができます。

Q. 「Server refused our key」が出ます。 A. 公開鍵がサーバーに登録されていないか、~/.ssh や authorized_keys の権限が広すぎます。sshd のログで Failed publickey か bad ownership or modes かを確かめます。

まとめ

  • WinSCP は Windows 用の無料のファイル転送ソフトで、既定は SFTP(SSH の22番)。会社でも無料で使える。
  • 最新は 6.7(2026年10月14日公開)。インストーラーは 13 MB で、Typical installation と画面のスタイルを選ぶ。
  • 初回のホスト鍵の確認では、指紋をサーバー側の ssh-keygen -lf と照らしてから Accept する。
  • 鍵認証は PuTTY 形式(.ppk)。OpenSSH 形式の鍵は変換でき、サーバーの ~/.ssh は 700・authorized_keys は 600。
  • エラーは表示の原文で層が分かれる。sshd のログに何も無ければネットワーク、あれば認証か権限の問題。
  • 同期は Commands > Synchronize。Delete files を付けるときは Preview changes で先に確かめる。

参考・出典

確認日はいずれも 2026年10月17日です。

  • WinSCP「Download」:https://winscp.net/eng/download.php
  • WinSCP「Introduction」:https://winscp.net/eng/docs/introduction
  • WinSCP「WinSCPとは」(日本語の案内):https://winscp.net/eng/docs/lang:jp
  • WinSCP「Requirements」:https://winscp.net/eng/docs/requirements
  • WinSCP「Installing WinSCP」:https://winscp.net/eng/docs/guide_install
  • WinSCP「License」:https://winscp.net/eng/docs/license
  • WinSCP「Version history」:https://winscp.net/eng/docs/history
  • WinSCP「Login Dialog / Session」:https://winscp.net/eng/docs/ui_login_session
  • WinSCP「Protocols」:https://winscp.net/eng/docs/protocols
  • WinSCP「Uploading files」:https://winscp.net/eng/docs/task_upload
  • WinSCP「Transfer Modes」:https://winscp.net/eng/docs/transfer_mode
  • WinSCP「Synchronize Dialog」:https://winscp.net/eng/docs/ui_synchronize
  • WinSCP「Keeping Remote Directory up to Date」:https://winscp.net/eng/docs/task_keep_up_to_date
  • WinSCP「Using PuTTYgen」:https://winscp.net/eng/docs/ui_puttygen
  • WinSCP「Set up SSH public key authentication」:https://winscp.net/eng/docs/guide_public_key
  • WinSCP「Error Messages」:https://winscp.net/eng/docs/messages
  • WinSCP「Script command open」:https://winscp.net/eng/docs/scriptcommand_open
  • WinSCP「Script command synchronize」:https://winscp.net/eng/docs/scriptcommand_synchronize
  • WinSCP「Automating File Transfers」:https://winscp.net/eng/docs/guide_automation
  • OpenSSH「sshd_config(5)」:https://man.openbsd.org/sshd_config
  • OpenSSH「Release notes 9.0」:https://www.openssh.org/txt/release-9.0
  • Microsoft Learn「OpenSSH for Windows の概要と使用開始」:https://learn.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「WinSCPとは・使い方|ダウンロードから鍵認証・エラー対処まで」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?