1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WinSCPの基本と応用:FTPとSFTPの違いを知り、セキュアなファイル転送を実現する方法について

Last updated at Posted at 2024-12-14

はじめに

WinSCP(Windows Secure Copy)は、Windows環境で使用できる人気の高いSFTP(SSH File Transfer Protocol)およびFTP(File Transfer Protocol)クライアントです。

リモートサーバーとローカルコンピュータ間でファイルを転送するための、簡単で安全な方法を提供します。

例えば、EC2などのクラウド基盤で動いているサーバーにも、WinSCPを使って安全に.pemキーなどのファイルを転送することができ、インフラエンジニアにとって必須のツールとなっています!

本記事では、WinSCPのインストール方法から基本的な使い方、便利な機能までをご紹介します。

FTPとSFTPの違い

FTP(File Transfer Protocol)は、ファイルを転送するための古典的なプロトコルですが、暗号化なしでデータを送信するため、セキュリティが低いという特徴があります。

スクリーンショット 2024-12-14 15.54.24.png
引用画像:https://academy.gmocloud.com/wp/keywords/20170308/4155

一方、SFTP(SSH File Transfer Protocol)は、SSHを利用してデータを暗号化し、安全にファイルを転送できるプロトコルです。

以下にそれぞれの違いをまとめました。

項目 FTP SFTP
セキュリティ 暗号化なし SSHを利用した暗号化あり
使用ポート ポート21 ポート22
データ転送 平文で転送される 暗号化されて転送される
認証方法 パスワード認証(暗号化なし) パスワード認証または公開鍵認証
使用用途 セキュリティがそれほど重要でない場合 セキュリティが重要なファイル転送

FTPはポート21を使用し、SFTPはポート22を使用します。セキュリティが重要な場合は、SFTPの使用が推奨されます。

事前準備

まず、WinSCPの公式サイトにアクセスし、トップページから「DOWNLOAD NOW」ボタンをクリックしてインストーラをダウンロードします。

次に、ダウンロードしたインストーラを実行し、インストールウィザードに従って進めます。「次へ」や「インストール」をクリックして、インストールを完了させてください。

スクリーンショット 2024-12-14 14.41.42.png

今回の自宅検証のゴールは、自宅のVirtualBox上に構築しているLinuxサーバーに、ローカルデスクトップのファイルを配置することです。

VirtualBoxの詳細な構築手順については、過去の記事を参考にしてください。

WinSCPを使ってサーバーに接続してみる

まず、WinSCPを起動します。初回起動時には接続設定画面が表示されます。

スクリーンショット 2024-12-14 15.19.03.png

ここでは、リモートサーバーに接続するための情報を入力します。以下の項目を設定してください。

  • 転送プロトコル:SFTP
  • ホスト名:サーバーのホスト名
  • ユーザ名:サーバーのユーザ名
  • パスワード:サーバーのログインパスワード

ポート番号については、デフォルト設定の「22」のままで問題ありません。

スクリーンショット 2024-12-14 15.11.34.png

必要な情報をすべて入力したら、「ログイン」をクリックして接続します。

接続後の画面では、左側がローカル端末のデスクトップディレクトリ、右側がサーバー内の/home/honda/Desktopディレクトリになっています。

スクリーンショット 2024-12-14 15.14.19.png

さらに、Tera Termを使ってSSH接続し、サーバー内のディレクトリを確認し、中身は空であることが確認できました。

スクリーンショット 2024-12-14 15.20.39.png

実際にファイルをサーバーに配置してみる

次に、ローカル端末のデスクトップにあるtest.txtファイルをサーバー側に転送してみます。

スクリーンショット 2024-12-14 15.22.31.png

注意点:
ファイル形式に応じて、転送設定を変更する必要があります。ここではテキストファイルを転送するため、「テキスト」を選択してください。

ファイルはドラッグアンドドロップで簡単にコピーできます。

初回はダイアログが表示されますので、「OK」を選択して転送を開始してください(✅のチェックを外すと、2回目以降はダイアログが表示されません)。

スクリーンショット 2024-12-14 15.24.57.png

転送が完了すると、ローカル端末のtest.txtファイルがサーバー側に配置されていることを確認できます。

スクリーンショット 2024-12-14 15.27.35.png

配置されたファイルを確認してみた

再度、Tera Termのターミナル画面を使って、サーバー側にファイルが配置されているか確認します。

スクリーンショット 2024-12-14 15.29.19.png

先ほどまでは存在しなかった test.txt ファイルがサーバー内にあることを確認できました。さらに、cat コマンドを使ってファイルの中身を確認します。

スクリーンショット 2024-12-14 15.31.30.png

配置したファイルにはあらかじめ以下のテキストを記載しており、正しく表示されることを確認できました。

WinSCPを使った転送成功!

WinSCPはセキュリティを重視したファイル転送が可能な便利なツールです。この機会にぜひインストールしてみてください。

WinSCPの魅力

普段Linuxではコマンド操作が基本ですが、WinSCPを使うとGUIでディレクトリやファイルの作成が簡単に行えます。

スクリーンショット 2024-12-14 15.36.05.png

例えば、新規ファイルを作成して「hello world!!」と入力し、左上の保存ボタンをクリックして保存できます(コマンド操作でいうところの :wq! に相当します)。

スクリーンショット 2024-12-14 15.36.51.png

WinSCPの画面上でもファイルやディレクトリが作成されたことを確認できます。

スクリーンショット 2024-12-14 15.37.23.png

サーバー側でも hogehoge というファイルが作成され、中身には「hello world!!」と記載されていることを確認できました。

スクリーンショット 2024-12-14 15.39.43.png

Linuxの操作に不慣れな方や、GUIでの作業を好む方には特におすすめのツールです。

まとめ

ここまでご覧いただきありがとうございました。

WinSCPは、WindowsでSFTPやFTPを使った安全なファイル転送を可能にし、リモートサーバーへの接続とGUIでの簡単なファイル操作を実現します。

この記事が、皆さんの技術的な学びの助けになれば幸いです!今後もインフラ視点で便利なツールを紹介していきますので、ぜひお楽しみに!

おまけ:Macユーザーの場合はscpコマンドで転送可能!

Windows環境ではWinSCPが便利ですが、Mac環境では別の方法を使用します。

Macには標準でターミナルが備わっており、scp コマンドを使うことでファイル転送が可能です。

scp /path/to/local/file.txt username@server:/path/to/remote/directory/

このコマンドを使用することで、ローカルのファイルをサーバーに転送できます。

私も普段からMacを愛用しており、ファイル転送には主にscpコマンドを活用しています。

関連記事

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?