WinSCPの使い方|SFTP接続設定・鍵認証・ショートカット一覧・よくあるエラーと対処法を解説|サイバーセキュリティ.com

WinSCPの使い方|SFTP接続設定・鍵認証・ショートカット一覧・よくあるエラーと対処法を解説



「サーバーにファイルをアップロード・ダウンロードしたい」「SSH接続でセキュアにファイルを転送したい」——こうした用途で世界中の開発者・サーバー管理者が使っているツールがWinSCPです。

WinSCP(ウィンSCP)とは、Windows向けの無料オープンソースのSFTP・SCP・FTPS・FTPクライアントです。Webサイトのファイル管理・サーバーへのデプロイ・リモートサーバーのファイル操作など、様々な場面で使われています。

本記事では、WinSCPのダウンロード・インストール・接続設定・基本操作・よく使うショートカット・コマンドラインモード・SCP/SFTPの違い・よくあるエラーと対処法・セキュリティ設定・FAQまで初心者にもわかりやすく徹底解説します。

WinSCPとは?

WinSCP(ウィンSCP)とは、Windows向けの無料オープンソースのSFTP・SCP・FTPS・FTPクライアントです。ローカルPC(自分のコンピュータ)とリモートサーバー(Webサーバー・VPSなど)の間でファイルを安全に転送・管理できます。

「2つの引き出し」のたとえ
WinSCPは「左の引き出し(ローカルPC)」と「右の引き出し(リモートサーバー)」を並べて表示し、ドラッグ&ドロップや操作でファイルをやり取りできるツールです。エクスプローラーの感覚でサーバー上のファイルを操作できます。

WinSCPの主な特徴

  • 完全無料・オープンソース:GNU GPL v3ライセンスで提供。個人利用・商用利用のどちらでも無料で使える
  • 複数プロトコル対応:SFTP・SCP・FTPS・FTP・WebDAVに対応
  • GUI・コマンドライン両対応:ビジュアルなファイルマネージャーと自動化向けのコマンドラインモードを持つ
  • SSH鍵認証対応:パスワード認証に加えて公開鍵認証に対応
  • 日本語対応:UIが日本語化されており初心者でも使いやすい
  • PuTTYとの連携:PuTTYを使ったSSHターミナルセッションを起動できる

SCP・SFTP・FTPの違い

プロトコル 暗号化 ポート 特徴
SCP(Secure Copy) あり(SSH) 22番 SSHを使った安全なファイルコピー。シンプルだが、SFTPに比べるとファイル操作機能や互換性の面で制約がある
SFTP(SSH File Transfer Protocol) あり(SSH) 22番 SSHを使った安全なファイル転送。ディレクトリ操作・属性変更・転送再開に対応。現在の主流
FTPS(FTP over SSL/TLS) あり(TLS/SSL) 21番または990番 FTPにSSL/TLS暗号化を追加した方式。既存のFTP環境との互換性が高い
FTP(File Transfer Protocol) なし(平文) 21番 暗号化なし。パスワードやファイル内容が平文で送信されるため非推奨
FTPは使わないことを推奨
FTPはパスワード・ファイル内容が平文で送信されるため、盗聴リスクがあります。必ずSFTPまたはSCPを使用してください。WinSCPの接続設定では「SFTP」を選択することを推奨します。

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

ダウンロード手順

  1. WinSCPの公式サイト(winscp.net)にアクセスする
  2. 「Download」ページから「Installation package」(インストーラー版)または「Portable executables」(ポータブル版)を選択する
  3. インストーラー版はPCにインストールして使う通常の方法。ポータブル版はUSBなどに入れて持ち運べる
  4. ダウンロードしたファイルを実行する
インストーラー版とポータブル版の選び方
通常の使用にはインストーラー版がおすすめです。ショートカットの作成・アンインストーラーが付いており管理が楽です。管理者権限がないPC・持ち運んで使いたい場合はポータブル版を選んでください。

インストール手順

  1. インストーラーを実行し「インストールモード」を選択する(「全ユーザー」または「現在のユーザー」)
  2. 「セットアップの種類」で「標準的なインストール」を選択する(初心者はカスタムは不要)
  3. 「初期ユーザーインターフェースのスタイル」で「コマンダー」(2ペイン)または「エクスプローラー」(1ペイン)を選択する。2ペインのコマンダーが使いやすくおすすめ
  4. 「インストール」をクリックしてインストールを完了する

WinSCPの接続設定

基本的な接続設定(パスワード認証)

  1. WinSCPを起動すると「ログイン」ダイアログが表示される
  2. 「ファイルプロトコル」で「SFTP」を選択する(推奨)
  3. 「ホスト名」にサーバーのIPアドレスまたはドメイン名を入力する
  4. 「ポート番号」はSFTP/SCPの場合は「22」(デフォルト)のままにする。サーバー側で変更している場合は指定されたポート番号を入力する
  5. 「ユーザー名」にSSHのユーザー名を入力する
  6. 「パスワード」にSSHのパスワードを入力する
  7. 「保存」ボタンで設定を保存し、「ログイン」をクリックして接続する

SSH鍵認証での接続設定(推奨・セキュア)

SSH鍵認証はパスワード認証よりセキュリティを高めやすく、サーバー管理では推奨される認証方法です。

  1. 「ログイン」ダイアログで「編集」→「高度なサイトの設定」を開く
  2. 「SSH」→「認証」を選択する
  3. 「秘密鍵ファイル」の「…」ボタンをクリックして秘密鍵ファイル(.ppk形式)を選択する
  4. 「OK」をクリックして設定を保存する
PEM形式の鍵をPPK形式に変換する方法
AWSなどで.pem形式の秘密鍵が発行された場合、WinSCPが使うPuTTYGen(PuTTYに付属)で.ppk形式に変換が必要になる場合があります。
PuTTYGenを起動→「Load」で.pemファイルを開く→「Save private key」で.ppkファイルとして保存してください。

初回接続時のホストキー確認

初めてサーバーに接続するとき「未知のサーバーのホストキーを信頼しますか?」というダイアログが表示されます。接続先が正しいサーバーであることを確認して「はい」をクリックします。このホストキーはMITM(中間者攻撃)を防ぐための重要なセキュリティ機能です。

ホストキーが以前と変わっている場合は、サーバーの再構築やOS再インストールなど正当な理由で変更された可能性もありますが、中間者攻撃の可能性もあります。サーバー管理者に変更の有無を確認してから接続してください。

WinSCPの基本操作

画面の構成(コマンダー表示)

  • 左ペイン:ローカルPC(自分のコンピュータ)のファイル一覧
  • 右ペイン:リモートサーバーのファイル一覧
  • ツールバー:アップロード・ダウンロード・削除などの操作ボタン

ファイルのアップロード(ローカル→サーバー)

  • ドラッグ&ドロップ:左ペインのファイルを右ペインにドラッグする
  • F5キー:左ペインで選択したファイルをサーバーにコピーする
  • 右クリック→「アップロード」:右クリックメニューからアップロード

ファイルのダウンロード(サーバー→ローカル)

  • ドラッグ&ドロップ:右ペインのファイルを左ペインにドラッグする
  • F5キー:右ペインで選択したファイルをローカルにコピーする

ファイルの編集(リモートファイルを直接編集)

右ペインのファイルを右クリック→「編集」を選択すると、リモートファイルをローカルのテキストエディタで開いて編集・保存できます。保存するとサーバー上のファイルが自動更新されます。

ただし、本番環境のファイルを直接編集すると、誤操作でWebサイトが表示されなくなる可能性があります。重要なファイルを編集する前には、必ずバックアップを取得してください。

ファイルのパーミッション変更

右ペインのファイルを右クリック→「プロパティ」でUnixパーミッション(755・644など)を設定できます。パーミッションを緩くしすぎると、第三者による改ざんや情報漏洩につながる可能性があるため注意してください。

よく使うショートカットキー一覧

操作 ショートカットキー
ファイルのコピー(アップロード/ダウンロード) F5
ファイルの移動 F6
新しいフォルダを作成 F7
ファイル・フォルダの削除 F8 または Delete
ファイルの名前変更 F2
ファイルを開く・編集する F4
ファイルのプロパティを表示 Alt+Enter
ファイルのリフレッシュ(再読み込み) Ctrl+R
すべてのファイルを選択 Ctrl+A
ファイルを検索 Ctrl+F
新しい接続(ログインダイアログ)を開く Ctrl+N
PuTTYターミナルを開く Ctrl+P
ディレクトリの同期 Ctrl+S

コマンドラインモードの使い方

WinSCPはGUIだけでなく、コマンドラインからも使用できます。スクリプト・バッチ処理・自動化に活用できます。

基本的な構文

winscp.com /log=ログファイルのパス /command “open sftp://ユーザー名@ホスト名/” “put ローカルファイル /リモートパス/” “exit”
注意
コマンドライン例でパスワードをURLに直接書く方法は、コマンド履歴やログに残るリスクがあります。実運用ではSSH鍵認証や保存済みセッション、環境変数などを使い、パスワードをスクリプト内に直接書かないようにしてください。

よく使うコマンド

ファイルをアップロードする
winscp.com /command “open sftp://user@example.com/” “put C:\local\index.html /var/www/html/” “exit”
ファイルをダウンロードする
winscp.com /command “open sftp://user@example.com/” “get /var/www/html/index.html C:\local” “exit”
ディレクトリを同期する
winscp.com /command “open sftp://user@example.com/” “synchronize local C:\local /var/www/html” “exit”

コマンドラインでの鍵認証
SSH鍵認証を使う場合は、パスワードの代わりに/privatekey=鍵ファイルのパスオプションを指定します。スクリプトにパスワードを直書きするのはセキュリティリスクがあるため、鍵認証の使用を推奨します。

よくあるエラーと対処法

エラーメッセージ・症状 原因 対処法
Connection refused(接続拒否) SSHサーバーが起動していない・ポート番号が違う・ファイアウォールでブロック サーバーのSSHサービス起動確認・ポート番号の確認・ファイアウォール設定の確認
Authentication failed(認証失敗) ユーザー名・パスワードが違う・鍵ファイルが違う 認証情報の再確認・鍵ファイルの形式やパスフレーズを確認
Host key verification failed(ホストキー不一致) サーバーのホストキーが変更された、または中間者攻撃の可能性がある サーバー管理者にホストキー変更の有無を確認する。正当な変更であることを確認できた場合のみ、WinSCPのホストキーキャッシュを削除して再接続する
Permission denied(権限なし) ファイル・ディレクトリの書き込み権限がない サーバー側でパーミッションを確認する・必要に応じて管理者に権限付与を依頼する
Network error: Connection timed out(タイムアウト) ネットワーク接続の問題・サーバーが応答しない ネットワーク接続の確認・サーバーのステータス確認・Pingやtracerouteでの疎通確認
ファイルの転送が途中で止まる ネットワークの不安定・大容量ファイルのタイムアウト KeepAlive設定を確認する・ネットワーク環境を変える・大容量ファイルは圧縮や分割を検討する

WinSCPのセキュリティ設定

パスワードの保存を避ける

WinSCPに接続情報を保存している場合、PCへの不正アクセスやマルウェア感染によって認証情報が悪用されるリスクがあります。SSH鍵認証を使用するか、マスターパスワード機能を有効にして保存情報を保護します。

マスターパスワードを設定する

「ツール」→「設定」→「セキュリティ」→「マスターパスワードを使用する」を有効にすることで、保存された接続情報をマスターパスワードで保護できます。複数のサーバー接続情報を保存する場合は、必ず有効化を検討してください。

FTPではなくSFTP・SCPを使う

FTPはパスワード・ファイル内容が平文で送信されます。必ずSFTP(推奨)またはSCPを使用してください。特にWebサイトの管理画面や本番サーバーへ接続する場合、FTPの利用は避けるべきです。

SSH鍵認証を使う

パスワード認証よりSSH鍵認証のほうがセキュリティを高めやすくなります。特にサーバーの管理者はSSHのパスワード認証を無効にし、SSH鍵認証のみを許可する設定を検討してください。

ホストキーを確認する

初回接続時のホストキーの確認を必ず行い、「不明なサーバーだから気にしない」と安易に承認しないことが重要です。ホストキーが変更されていた場合は、サーバーの再構築など正当な理由があるか、管理者に確認してから接続してください。

WinSCPとよく比較されるツール

ツール OS 特徴 無料
WinSCP Windows Windows向け定番・SFTP/SCP/FTPS/FTP対応・GUI+CLI 無料
FileZilla Windows/Mac/Linux クロスプラットフォーム・使いやすいUI 無料
Cyberduck Windows/Mac クラウドストレージ(S3等)対応・シンプルなUI 寄付制
Transmit Mac Mac向けの高機能ファイル転送クライアント 有料

WinSCPに関連する被害・注意事例2選

事例①:FTPアカウント情報の漏洩によるWebサイト改ざん

Webサイト改ざんの原因には、サイトの脆弱性だけでなく、管理用アカウントやFTPアカウント情報の漏洩も含まれます。サイバーセキュリティ.comの記事でも、Webサイト改ざんは「サイトの脆弱性」「マルウェア感染」「FTPパスワードの流出」などによって引き起こされると説明されています。

WinSCPではFTP接続も選択できますが、FTPは通信内容や認証情報が暗号化されないため、盗聴や認証情報流出のリスクがあります。Webサイトのファイル転送には、FTPではなくSFTPまたはSCPを使用し、可能であればSSH鍵認証を組み合わせることが重要です。

参考:WEBサイトを改ざんされたらどうすればいいのか?手口や対処法・対策まで徹底解説|サイバーセキュリティ.com

事例②:マルウェアによるFTPクライアント認証情報の窃取

情報窃取型マルウェアの中には、PCに保存されたFTPクライアントの認証情報を盗み出すものがあります。サイバーセキュリティ.comのAgent Teslaの記事では、Agent Teslaがブラウザやメールクライアント、FTPクライアントなど、パスワード管理機能を持つアプリケーションから保存された認証情報を抽出し、攻撃者に送信すると説明されています。

WinSCPに接続先のパスワードを保存している場合、PCがマルウェアに感染すると、サーバー接続情報が窃取されるリスクがあります。制作会社やWeb担当者が複数サイトの接続情報を保存している場合、1台のPC感染から複数サイトの改ざんや不正アクセスにつながるおそれがあります。WinSCPではパスワード保存を避け、SSH鍵認証やマスターパスワードの設定、端末のマルウェア対策を組み合わせることが重要です。

よくある質問(FAQ)

Q. WinSCPは無料で使えますか?

はい、無料で使えます。WinSCPはGNU GPL v3ライセンスのオープンソースソフトウェアで、個人・商用問わず利用できます。ダウンロードする際は、必ず公式サイト(winscp.net)から最新版を入手してください。

Q. WinSCPはMacで使えますか?

WinSCPはWindows向けのソフトウェアです。Macでは類似ツールとしてCyberduck・Transmit・FileZillaなどが使われています。MacでSFTP接続を行う場合は、これらのツールやターミナルのsftpコマンドを利用できます。

Q. 接続できたのにファイルが表示されない場合は?

いくつかの原因が考えられます。接続後の初期ディレクトリ(デフォルトは/homeなどホームディレクトリ)に目的のファイルがない可能性があります。右ペインのアドレスバーに直接パス(例:/var/www/html/)を入力して移動してみてください。

また「隠しファイルを表示」(「表示」→「隠しファイルを表示」)を有効にすることで、.から始まる隠しファイルが表示されます。

Q. ポート22以外のSSHポートに接続するには?

「ログイン」ダイアログの「ポート番号」を変更します。例えばポート10022を使う場合は「10022」と入力します。コマンドラインの場合はホスト名の後ろに「:10022」と付けるか、/port=10022オプションを使用します。

Q. WinSCPとPuTTYの違いは何ですか?

WinSCPはファイル転送・ファイル管理を行うクライアントで、サーバーへのファイルアップロード・ダウンロード・編集が主な用途です。PuTTYはSSHターミナルクライアントで、サーバーにコマンドで接続するためのツールです。WinSCPにはPuTTYを起動するボタン(Ctrl+P)があり、ファイル操作とコマンド操作を組み合わせて使うことが多いです。

まとめ

WinSCPはWindows向けの無料オープンソースのSFTP・SCP・FTPS・FTPクライアントです。ローカルPCとリモートサーバーの間でファイルをセキュアに転送・管理でき、GUIとコマンドラインの両方に対応しています。

接続設定はSFTPプロトコル+SSH鍵認証の組み合わせが推奨されます。FTPは平文通信のためセキュリティリスクがあり、使用は推奨しません。WinSCPに接続情報を保存する場合は、マスターパスワードを設定し、端末のマルウェア対策も行いましょう。

ファイル転送・移動・削除・編集などの基本操作はF5・F6・F8などのショートカットキーで効率化できます。また、定期的なファイル同期・自動化にはコマンドラインモード(winscp.com)が活用できます。よくあるエラーはConnection refused・Authentication failed・Permission deniedの3つで、それぞれホスト名・認証情報・パーミッションの確認で解決できるケースが多いです。

SNSでもご購読できます。