この記事では、Linux環境でSCP(Secure Copy)とSFTP(SSH File Transfer Protocol)を用いたファイル転送方法について詳細に解説します。具体的なコード例、その詳細解説、および応用例を5つ以上掲載しています。
目次
SCPとSFTPの基本
SCPとSFTPは、SSH(セキュアシェル)を基盤として安全なファイル転送を行うプロトコルです。SCPは単純なコマンドラインベースの転送を、SFTPはより高度なファイル操作をサポートしています。
SCPの基本的な使い方
# ローカルからリモートへファイル転送
scp localfile.txt user@remote:/path/to/destination
上記のコマンドは、`localfile.txt`をリモートマシンの`/path/to/destination`に転送します。
SFTPの基本的な使い方
# SFTPセッションを開始
sftp user@remote
このコマンドでSFTPセッションが開始され、リモートマシンに安全に接続できます。
コードの詳細解説
SCPにおけるオプションとパラメータ
SCPには多くのオプションがありますが、よく使うものは以下です。
# -r オプションでディレクトリを再帰的に転送
scp -r localdir/ user@remote:/path/to/destination
SFTPでよく使うコマンド
SFTPセッション中に使える基本的なコマンドは以下の通りです。
# ファイルをダウンロード
get remote_file local_file
# ファイルをアップロード
put local_file remote_file
応用例
ここで、SCPとSFTPの応用例を5つ紹介します。
大量のファイルを一度に転送
# tarと組み合わせて一括転送
tar czf - files_to_transfer/ | ssh user@remote "tar xzf - -C /destination"
特定のポートを指定して転送
# -P オプションでポート指定
scp -P 2222 localfile.txt user@remote:/destination
帯域制限をかける
# -l オプションで帯域制限(Kbps)
scp -l 400 localfile.txt user@remote:/destination
暗号化アルゴリズムを指定
# -c オプションで暗号化アルゴリズム指定
scp -c aes256-cbc localfile.txt user@remote:/destination
リモートからリモートへの転送
# リモートからリモートへの転送
scp user1@remote1:/file1.txt user2@remote2:/destination
まとめ
SCPとSFTPはLinuxで頻繁に使われるファイル転送手段です。基本的な使い方から応用まで、多くのオプションと組み合わせ方があります。この記事が、SCPとSFTPの有用性とその応用に対する理解を深める一助になれば幸いです。
コメント