WinSCPでLinux上のファイルをローカルへダウンロードする方法

WinSCPでLinuxサーバー上のファイルをWindowsへダウンロードする基本は、SFTPで接続先を検証し、リモート側からWindowsの保存先へ対象をコピーする操作です。Commander表示では、通常は右側がリモート、左側がローカルになります。ドラッグ&ドロップだけでも実行できますが、接続先、ホスト鍵、転送方向、転送モード、保存先、完了後の検証を確認しないと、別サーバーのファイルを取得したり、Shift操作でリモートを移動扱いにしたりする事故が起きます。

初回接続で表示されるホスト鍵のフィンガープリントは、管理者から別経路で受け取った正しい値と照合します。警告を無条件で承認してはいけません。

目次

接続前に準備する情報

  • 正式なサーバー名またはIPアドレス、SFTPポート、接続プロトコル
  • 利用者ごとのアカウント、公開鍵認証または組織が指定する認証方式
  • SSHホスト鍵のフィンガープリントと、その値を確認できる管理者への連絡経路
  • 取得元の絶対パス、Windows側の保存先、必要な空き容量、ファイルの機密区分
  • ダウンロード後の利用目的、保管期限、アクセス権、削除手順

WinSCPは公式サイトから入手し、組織のソフトウェア導入ルールに従います。インストーラー版とポータブル版のどちらを使うかは管理方針で決めます。共有PCや一時端末では、セッションのパスワード保存を避け、利用後に設定と一時ファイルが残っていないか確認してください。

SFTPで接続する手順

  1. WinSCPを起動し、新しいサイトでファイルプロトコルにSFTPを選びます。FTPとSFTPは名前が似ていますが別の方式です。
  2. ホスト名、ポート番号、ユーザー名を入力します。パスワードや秘密鍵は組織の保管手順から利用し、記事やチャットへ貼り付けません。
  3. 初回接続ではサーバーのホスト鍵フィンガープリントを、管理者から事前入手した値と比較します。一致しない場合は接続を中止します。
  4. 接続後、画面上部のホスト名と現在のリモートパスを確認し、目的のLinuxサーバーかを照合します。
  5. Commander表示では、左ペインでWindows側の保存先、右ペインでLinux側の取得元ディレクトリを開きます。Explorer表示ではリモート側だけが表示されるため、ダウンロードダイアログでWindows側の保存先を指定するか、Windowsのエクスプローラーへドラッグします。

ファイルをダウンロードする

公式ドキュメントでは、リモート側のファイルを選択し、ローカル側へドラッグする方法、メニューのFilesからDownloadを選ぶ方法、ファンクションキーを使う方法が説明されています。初めての作業ではDownloadダイアログを表示し、転送先と設定を確認できる方法が安全です。表示を省略する設定にしている場合は、確認できる状態に戻してから作業します。複数ファイルやフォルダでは、推定サイズと所要時間も確認します。

通常のドラッグはコピーですが、Shiftを押しながらドラッグすると移動として扱われ、転送後にリモート側が削除される可能性があります。バックアップ取得やログ収集ではShiftを使わず、ダイアログに「Download and Delete」や削除相当の選択がないことを確認します。サーバー側のファイルを消す権限が不要なら、読み取り専用アカウントを使うと事故を減らせます。

転送モードの選び方

掲載画像は操作の参考です。WinSCPのバージョン、表示形式、言語設定によって画面や項目名は異なるため、本文の目的と現在の設定を照らし合わせてください。

WinSCPにはバイナリ、テキスト、自動判定の転送モードがあります。画像、PDF、圧縮ファイル、データベース、実行ファイルなどはバイナリとして内容を変えずに取得します。テキストモードは改行コードを変換することがあり、Linuxの設定ファイルをそのまま証跡保全したい場合には不向きです。迷う場合はバイナリを基準にし、受け渡し先が改行変換を求めるときだけコピーを作って処理します。

ファイルマスクや除外設定が残っていると、一部の隠しファイルや拡張子が転送されないことがあります。転送前には、ファイルマスク、上書き時の扱い、更新日時の保持、読み取り専用属性、速度制限を確認します。WinSCPの「パーミッションの設定」はアップロード用の設定であり、ダウンロード時にLinuxの権限一式を保存するものではありません。Linuxの所有者・グループ・POSIX権限はWindowsのNTFSへ同じ意味で保存されないため、復元目的ならファイル内容とは別に属性情報を記録します。

転送後に確認すること

  • WinSCPの転送キューが完了し、失敗・スキップ・上書き確認が残っていない
  • ローカル側に期待したファイル名、件数、サイズ、更新日時がある
  • テキストは文字コードと改行、圧縮ファイルは展開テスト、PDFや画像は実際に開いて確認する
  • 重要ファイルはサーバー管理者が提供するハッシュ値とローカル計算値を比較する
  • リモート側の元ファイルが残り、意図せず名前変更や削除されていない

ハッシュ比較は転送中の破損や取り違えの検出に役立ちます。元ファイルとの一致を確認する場合は、改行変換などを行わないバイナリ転送を使い、取得中に元ファイルが更新されていないことも確認します。ただしサーバー上でコマンドを実行する権限がない場合は、管理者に計算を依頼します。取得したファイルに個人情報や認証情報が含まれる場合、Windows側の保存先を暗号化された業務領域に限定し、メール添付や個人クラウドへ移さないでください。

権限エラーや途中停止への対応

Permission deniedが出たときに、サーバー上の権限を広げたりrootで接続したりするのは避けます。必要なファイルを管理者が閲覧可能な受け渡し領域へコピーする、読み取り権限を期間限定グループへ付与するなど、最小権限の手順を依頼します。監査ログと所有者の承認を残します。

通信断で途中まで作成されたローカルファイルは、再開機能が使える場合でも内容を検証します。再開できるのは中断前と同じ版の元ファイルを取得する場合です。元ファイルが更新されていたら、古い内容と新しい内容が混ざるおそれがあるため、再開せず新しい保存先へ最初から取得します。保存先の空き容量、VPNの状態、タイムアウト、サーバー負荷を確認し、大容量転送は業務時間と帯域制限を調整します。同名ファイルを無条件上書きせず、日時付きの別フォルダへ取得すると比較と切り戻しがしやすくなります。

自動化する場合

定期取得ではWinSCPスクリプトや.NETアセンブリを利用できますが、GUIで一度安全な接続と転送を検証してから自動化します。スクリプトには平文パスワードを置かず、ホスト鍵フィンガープリントを明示して接続先を検証します。戻り値、ログ、タイムアウト、再試行、重複取得、部分ファイルを設計し、失敗を成功扱いにしないでください。

自動処理がサーバー側を削除する設計は、取得成功、ハッシュ確認、バックアップ完了、保持期間を満たした後の別工程に分けます。最初は削除なしで監視し、想定件数と容量を確認してから変更承認を得ます。

ロールバックと後片付け

ダウンロードは通常サーバーを変更しないため、問題があればローカル側の誤ったコピーを隔離して再取得できます。上書きしてしまった場合に備え、保存先は作業日ごとの新規フォルダにします。もし誤ってリモート移動を実行した場合は追加操作を止め、WinSCPログと転送先を保存してサーバー管理者へ連絡します。自己判断で逆方向へ戻すと時刻や権限をさらに変えるおそれがあります。

作業後はセッションを切断し、保存不要な認証情報を削除します。取得ファイルは必要な担当者だけが読める領域へ移し、保管期限後に組織の廃棄手順で削除します。SFTP接続の安全性と、ダウンロード後のファイル管理は別の課題として両方を確認してください。

ログを残すときの注意

WinSCPのセッションログは、転送失敗の調査や操作証跡に役立ちます。一方でホスト名、ユーザー名、パス、ファイル名など機密情報を含むことがあります。通常は必要な詳細度だけを有効にし、保管先のアクセス権と保存期間を決めます。パスワードや秘密鍵そのものをログへ出さない設定でも、共有前に内容を確認します。

作業記録には、接続先の識別子、取得元、保存先、件数、総容量、開始・終了、失敗件数、検証方法を記載します。ログを添付する場合は承認されたチケットへ限定し、公開チャットや外部ストレージへ置きません。問題解決後は保持方針に従って削除し、端末上の不要な一時コピーも整理します。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次