GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでのSCPコマンド:使用方法と例

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ポートを指定

宛先ホストで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をコピーします ローカルシステムの現在のディレクトリからリモートサーバーの/tmpmy_second_indent.pemを使用するディレクトリ 秘密鍵ファイル。

scp -i my_second_indent.pem file.txt [email protected]:/tmp/
結論

このチュートリアルでは、scpの使用方法を学習しました Linuxでコマンドを実行して、ファイルとディレクトリをコピーします。これは、デフォルトでは本質的に安全ではないFTPの代わりとして特に役立ちます。

SSHキーベースの認証を設定し、パスワードを入力せずにLinuxサーバーに接続することもできます。

scpの詳細については Linuxでコマンドを実行するには、そのマニュアルページを参照してください。


Linux
  1. Linux Rsync(リモート同期)コマンドの使用方法

  2. 実用的な例でLinuxHexdumpコマンドを使用する方法

  3. LinuxでSedコマンドを使用する方法と例

  1. 例を使用してLinuxでsuコマンドを使用する方法

  2. 例を使用してLinuxでRmmodコマンドを使用する方法

  3. 例を使用してLinuxでDigコマンドを使用する方法

  1. 例でLinuxシャットダウンコマンドを使用する方法

  2. 例を使用してLinuxでwコマンドを使用する方法

  3. 例を使用してLinuxwatchコマンドを使用する方法