はじめに
WinSCP(Windows Secure Copy)は、Windows環境で使用できる人気の高いSFTP(SSH File Transfer Protocol)およびFTP(File Transfer Protocol)クライアントです。
リモートサーバーとローカルコンピュータ間でファイルを転送するための、簡単で安全な方法を提供します。
例えば、EC2などのクラウド基盤で動いているサーバーにも、WinSCPを使って安全に.pemキーなどのファイルを転送することができ、インフラエンジニアにとって必須のツールとなっています!
本記事では、WinSCPのインストール方法から基本的な使い方、便利な機能までをご紹介します。
FTPとSFTPの違い
FTP(File Transfer Protocol)は、ファイルを転送するための古典的なプロトコルですが、暗号化なしでデータを送信するため、セキュリティが低いという特徴があります。
引用画像: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」ボタンをクリックしてインストーラをダウンロードします。
次に、ダウンロードしたインストーラを実行し、インストールウィザードに従って進めます。「次へ」や「インストール」をクリックして、インストールを完了させてください。
今回の自宅検証のゴールは、自宅のVirtualBox上に構築しているLinuxサーバーに、ローカルデスクトップのファイルを配置することです。
VirtualBoxの詳細な構築手順については、過去の記事を参考にしてください。
WinSCPを使ってサーバーに接続してみる
まず、WinSCPを起動します。初回起動時には接続設定画面が表示されます。
ここでは、リモートサーバーに接続するための情報を入力します。以下の項目を設定してください。
- 転送プロトコル:SFTP
- ホスト名:サーバーのホスト名
- ユーザ名:サーバーのユーザ名
- パスワード:サーバーのログインパスワード
ポート番号については、デフォルト設定の「22」のままで問題ありません。
必要な情報をすべて入力したら、「ログイン」をクリックして接続します。
接続後の画面では、左側がローカル端末のデスクトップディレクトリ、右側がサーバー内の/home/honda/Desktop
ディレクトリになっています。
さらに、Tera Termを使ってSSH接続し、サーバー内のディレクトリを確認し、中身は空であることが確認できました。
実際にファイルをサーバーに配置してみる
次に、ローカル端末のデスクトップにあるtest.txt
ファイルをサーバー側に転送してみます。
注意点:
ファイル形式に応じて、転送設定を変更する必要があります。ここではテキストファイルを転送するため、「テキスト」を選択してください。
ファイルはドラッグアンドドロップで簡単にコピーできます。
初回はダイアログが表示されますので、「OK」を選択して転送を開始してください(✅のチェックを外すと、2回目以降はダイアログが表示されません)。
転送が完了すると、ローカル端末のtest.txt
ファイルがサーバー側に配置されていることを確認できます。
配置されたファイルを確認してみた
再度、Tera Termのターミナル画面を使って、サーバー側にファイルが配置されているか確認します。
先ほどまでは存在しなかった test.txt
ファイルがサーバー内にあることを確認できました。さらに、cat
コマンドを使ってファイルの中身を確認します。
配置したファイルにはあらかじめ以下のテキストを記載しており、正しく表示されることを確認できました。
WinSCPを使った転送成功!
WinSCPはセキュリティを重視したファイル転送が可能な便利なツールです。この機会にぜひインストールしてみてください。
WinSCPの魅力
普段Linuxではコマンド操作が基本ですが、WinSCPを使うとGUIでディレクトリやファイルの作成が簡単に行えます。
例えば、新規ファイルを作成して「hello world!!
」と入力し、左上の保存ボタンをクリックして保存できます(コマンド操作でいうところの :wq!
に相当します)。
WinSCPの画面上でもファイルやディレクトリが作成されたことを確認できます。
サーバー側でも hogehoge
というファイルが作成され、中身には「hello world!!
」と記載されていることを確認できました。
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
コマンドを活用しています。
関連記事