LinuxのSCPコマンドを使用すると、ssh接続を介してファイルをコピーできます。これは、コンピューター間でファイルを転送する場合に非常に便利です。
目次
- SCPコマンド構文
- LinuxでSCPコマンドを使用する方法
- ローカルファイルをリモートサーバーに転送する
- リモートサーバーからローカルマシンへのファイルの転送
- ローカルディレクトリをリモートサーバーに再帰的に転送する
- ディレクトリをリモートサーバーからローカルに再帰的に転送する
- 複数のファイルをリモートサーバーに転送する
- 圧縮を有効にして転送速度を上げる
- 別のSSHポートを指定する
- ファイルのアクセス許可、モード、およびアクセス時間を保持します
- SCPコマンドで識別ファイルを使用する
- 結論
scp
(セキュアコピー)コマンドは、SSHを使用して、あるホストから別のホストにデータを転送し、SSHの同じ認証とセキュリティを使用します。ただし、このコマンドはデータ転送をSSHに依存しているため、リモートシステムで認証するにはsshキーまたはパスワードが必要です。
scp
でデータを転送する場合 、ファイルとパスワードの両方が暗号化されているため、トラフィックをスヌーピングしている人が機密情報を取得することはありません。したがって、これはネットワーク上でデータを転送するための最も安全な方法の1つです。
scp
Linuxのコマンドは3つの方法で使用できます:
- リモートサーバーからローカルマシンにコピーするには。
- また、ローカルマシンからリモートサーバーにコピーします。
- リモートサーバーから別のリモートサーバーにコピーするには。
SCPコマンド構文
scp
の構文 コマンドは次のとおりです:
scp [OPTION] [[email protected]]SRC_HOST:]file1 [[email protected]]DEST_HOST:]file2
最も広く使用されているscp
の一部 コマンドオプションは次のとおりです。
-
-P
:サーバーのSSHポートを指定する -
-p
:ファイルのアクセス許可、モード、およびアクセス時間を保持します(小文字に注意してください) -
-q
:クワイエットモード、進行状況やメッセージを表示しない -
-C
:送信中にデータを圧縮する -
-r
:再帰的–サブディレクトリとそのコンテンツを含める -
-i
:IDファイルまたは秘密鍵
LinuxでSCPコマンドを使用する方法
file.txt
をコピーします ローカルシステムの現在のディレクトリからリモートサーバーの/tmp
へ ディレクトリ。
scp file.txt [email protected]:/tmp/
次のコマンドは、/tmp/file.txt
をコピーします リモートサーバーからユーザーのホームディレクトリの下のローカルマシンへ。
scp [email protected]:/tmp/file.txt /home/user
-r
を使用できます scp
のオプション Linuxでコマンドを実行して、ディレクトリ全体をあるシステムから別のシステムに再帰的にコピーします。
次のコマンドは、/home/user/myfiles
をコピーします ローカルマシンからリモートサーバーの/tmp
へのディレクトリ ディレクトリ。
scp -r /home/user/myfiles [email protected]:/tmp/
次のコマンドは、/tmp/serverfiles
をコピーします リモートサーバーからユーザーのホームディレクトリの下のローカルマシンへのディレクトリを再帰的に。
scp -r [email protected]:/tmp/serverfiles /home/user
次の例では、ファイルfile1.txt
およびfile2.txt
ソースホストからリモートサーバーの/tmp
にコピーされます ディレクトリ。
scp file1.txt file2.txt [email protected]:/tmp/
-C
を使用して圧縮を有効にすると、転送速度を上げることができます。 オプション。ソースでの圧縮と宛先ホストでの解凍が自動的に許可されます。
次のコマンドは、/home/user/myfiles
をコピーします ローカルマシンからリモートサーバーの/tmp
へのディレクトリ 圧縮を有効にして再帰的にディレクトリを作成します。
scp -r -C /home/user/myfiles [email protected]:/tmp/
宛先ホストでSSHポートが変更される場合があるため、Linuxでscpコマンドを使用すると、-P
を使用してSSHポート番号を指定できます。 オプション。
次のコマンドは、file.txt
をコピーします ローカルシステムの現在のディレクトリからリモートサーバーの/tmp
へ ポート2222を使用するディレクトリ。
scp -P 2222 file.txt [email protected]:/tmp/
ファイルのアクセス許可、モード、およびアクセス時間を保持します
-p
を使用します scp
のオプション ファイルのコピー中にアクセス許可、アクセス時間、およびモードを保持するコマンド。
次のコマンドは、file.txt
をコピーします ローカルシステムの現在のディレクトリからリモートサーバーの/tmp
へ ディレクトリを作成し、そのプロパティを保持します。
scp -p file.txt [email protected]:/tmp/
SCPコマンドでファイルの識別を使用
SSHセッション中にパスワードの代わりにSSHキーを使用する場合、-i
フラグを使用すると、公開鍵認証のID(秘密鍵)を読み取るファイルを選択できます。
次のコマンドは、file.txt
をコピーします ローカルシステムの現在のディレクトリからリモートサーバーの/tmp
へ my_second_indent.pem
を使用するディレクトリ 秘密鍵ファイル。
scp -i my_second_indent.pem file.txt [email protected]:/tmp/
このチュートリアルでは、scp
の使用方法を学習しました Linuxでコマンドを実行して、ファイルとディレクトリをコピーします。これは、デフォルトでは本質的に安全ではないFTPの代わりとして特に役立ちます。
SSHキーベースの認証を設定し、パスワードを入力せずにLinuxサーバーに接続することもできます。
scp
の詳細については Linuxでコマンドを実行するには、そのマニュアルページを参照してください。