Linuxのセキュアコピーコマンドに苦労していますか?このscpの例を使用する

scpコマンドを使用すると、2つの異なるホスト間でファイルを効率的にコピーできます。 scpの構文はcpの構文を再利用するため、ほとんどのLinuxユーザーにはなじみがあるはずです。

scpコマンドの注意点は、送信元または宛先のいずれかがリモートである可能性があることです。つまり、ローカルネットワークとは異なる別のネットワークに接続されているコンピューターです。コピーするファイルを指定するときは、リモートホストに関する詳細も含める必要があります。これには、IPアドレスとユーザー名が含まれます。

scpコマンドを使用したファイルのアップロード

一般的なscp構文は次のとおりです。

 scp source destination

これが本質的にcpコマンドと同じ構文であることに注意してください。

最も単純なscpの例は、おそらく最もよく使用する例です。ローカルマシンからリモートサーバーにファイルをアップロードします。この場合、コマンドのソース部分は単純で、宛先はより複雑です。

 scp index.html bobby@example.org:/var/www/html/

これにより、 index.htmlという名前のローカルファイルがリモートホストにコピーされます。これは、他のコマンドのファイルを指定するのと同じ方法で指定できます。ファイルへの絶対参照または相対参照にすることができます。したがって、 index.html.. / index.html 、および/home/bobby/index.htmlは、ローカルファイルを指定するために使用できるさまざまな方法です。

この例の宛先はbobby@example.org:/ var / www / html /です。この意味は:

  1. ユーザーbobbyは、リモートサーバー上の新しいファイルの所有者になります。そのユーザーが存在する必要があり、あなたはそれにアクセスできるはずです。
  2. ファイルをアップロードするサーバーのホスト名はexample.orgです。ここでドメインを指定しましたが、代わりにIPアドレスを使用することもできます。
  3. そのサーバーで、scpはファイルを/ var / www / html /ディレクトリにアップロードします。

そのコマンドを入力すると、通常、端末はリモートマシンで指定したユーザーのパスワードの入力を求めます。

ディレクトリ全体をダウンロードする

ディレクトリ全体をダウンロードする、もう少し複雑なバリアントを次に示します。

 scp -rpC bobby@example.org:/tmp/docs /home/bobby

まず、宛先がローカルであるのに対し、ソースはリモートマシンになっていることに注意してください。注文の切り替えは別として、これらのソースと宛先の詳細はよく知っている必要があります。ただし、この例では、次の3つの便利なフラグも紹介しています。

  1. -r:ディレクトリ全体を再帰的にダウンロードします。 / tmp / docs内のすべてのファイルを転送します。これは、特にリモートホストへのログインアクセス権がない場合に、迅速なバックアップを作成したり、多数のファイルを転送したりする場合に非常に役立ちます。
  2. -p:ファイルのタイムスタンプと元のファイルのモードを保持します。ローカルコピーには、元のコピーと同じ作成時間または書き込み権限があります。
  3. -C:圧縮を有効にします。大量のファイルを転送している場合、特に低速の接続を使用している場合は、これにより処理速度が向上します。

scpコマンドはcpとほぼ同じくらい簡単です

scpコマンドの基本的な使用法は簡単です:それはcpとまったく同じです。主な違いは、scpにはリモートサーバーの詳細がいくつか必要なことです。ただし、cpと同様に、基本機能を拡張するための便利なフラグがあります。これらには、複数ファイルのダウンロードを提供するための圧縮と再帰コピーが含まれます。

Linuxサーバーの管理を依頼された場合は、scpコマンドをマスターすると便利です。バックアップとリモートデータ転送を行うことは、サーバー管理に熱中している人にとっては日常的な作業です。