LinuxでSCPとSFTPを使ったファイル転送の実践ガイド

この記事では、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の有用性とその応用に対する理解を深める一助になれば幸いです。

created by Rinker
オライリージャパン
¥3,080 (2024/05/20 22:12:35時点 Amazon調べ-詳細)

コメント

コメントする

目次