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

SCP Linuxコマンド–リモートからローカルへのSSHファイル転送方法

コンピュータやストレージ容量のある電子機器を使用しているときはいつでも、さまざまな方法で情報やファイルを配布または共有する必要があるかもしれません。

最も一般的に共有されるファイルには、オーディオファイル、画像、ビデオ、PDF、またはあらゆる形式のワードドキュメントが含まれます。

ほとんどの場合、共有される情報は非公開または機密情報になります。つまり、特定の個人またはグループの人々を対象としているため、情報を保護することが不可欠です。

携帯電話などのデバイスに関しては、xender、appshare、場合によってはBluetoothの使用などのファイルの転送を容易にするアプリがあります。さて、コンピューターに関しては、ケースは同じです。ソフトウェアや、それを容易にするサイトさえあります。

Linuxなどのオペレーティングシステムでデータを共有する場合、情報を共有するために選択できるコマンドが複数あります。しかし、今日は SCPに焦点を当てます 指図。ファイルやデータを安全かつ簡単に共有できます。

今日の市場のギャップでは、Linuxのスキルを持つことは非常に重要であり、システム管理者の場合はさらに役立ちます。システム管理者によるデータの共有は日常業務の1つであり、安全のためにデータを共有する必要があります。SCPコマンドを使用することで、これを実現できます。

始める前に、SCPとは何かを理解することから始めましょう。次に、ファイル転送に使用できるいくつかのコマンドを学習します。

SCPコマンドとは何ですか?

SCPは、SecureCopyProtocolの頭字語です。これは、ユーザーが2つの場所間(通常はUNIXまたはLinuxシステム間)でファイルとディレクトリを安全にコピーできるようにするコマンドラインユーティリティです。

このプロトコルは、ファイルの送信が暗号化されていることを確認して、疑わしい意図を持つ人が機密情報を取得するのを防ぎます。

簡単に言えば、SCPはcpにとってより安全なオプションであると言えます。 (コピー )コマンド。

SCPはSSH(セキュアシェル)接続を介して暗号化を使用することに注意することも重要です。これにより、転送されるデータが疑わしい攻撃から保護されます。

SCP構文

ターミナルで使用される他のコマンドと同様に、SCPにも、正常に実行されるために使用される形式があります。構文を理解することで、コマンドを簡単に書き留めることができます。

scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2
  • scp -コマンドを初期化し、安全なシェルが配置されていることを確認します。
  • OPTIONS -使用方法に応じて、異なる権限を付与します。最も一般的なオプションには、次のものがあります。
  • P (大文字)-リモートホストとの接続を確立するためのポートを指定します。
  • p (小文字)-変更とアクセスを容易にするためにタイムスタンプを保持します。
  • r -ディレクトリ全体を再帰的にコピーします
  • q -ファイルを静かにコピーし、進行状況メッセージを表示しません。クワイエットモードとも呼ばれます。
  • C -送信中のデータの圧縮用。
    オプションの詳細については、scpオプションをお読みください
  • src_host -ファイルがホストされている場所。ソースは、ファイルのソースに応じて、クライアントまたはサーバーのいずれかになります。
  • dest_host -ファイルのコピー先。

私たちはファイル送信を扱っているので、それは間違いなく、プロセスを可能にするために複数のマシンの関与が必要であることを意味します。次の場合にSCPを使用できます:

  • 同じマシン内でファイルをコピーします。
  • ローカルホストからリモートホストに、またはその逆にファイルをコピーします。
  • 2つの異なるリモートサーバー間でファイルをコピーします。

この時点で、SCPコマンドを使用する前に、いくつかの準備が必要であると述べるのが妥当です。

  • SShはクライアントマシンとサーバーマシンの両方にインストールされています。
  • クライアントマシンとサーバーマシンの両方へのルートアクセス。

2つの準備ができたら、準備は完了です。コマンドの動作を確認することから始めましょう。

一般的なSCPコマンド ローカルホストからリモートサーバーにファイルをコピー

ファイルをコピーする場合、ローカルストレージからリモートサーバーにファイル/データを転送できることが非常に重要です。 SCPコマンドを使用するときは、これを行うためにいくつかのことを指定する必要があります。

ソースとしてファイルへのパスを指定する必要があります。また、ファイルのコピー先のリモートホストパスも指定する必要があります。

test.txtファイルがあるシナリオを考えてみましょう。 リモートサーバーにコピーする必要があります。コマンドは次のようになります。

scp test.txt userbravo@destination:/location2

コピーできるファイルの数に制限はありません。デスクトップ上で、.phpがあるwebというフォルダーにいるとします。 ファイル拡張子があり、リモートサーバーのホームディレクトリにコピーする必要があります。コマンドは次のようになります:

scp *.php userbravo@destination_host:/~/

*。php -現在指定されているフォルダー内の.php拡張子を持つすべてのファイルをコピーします。
/〜/ -それらをホームディレクトリにコピーすることを意味します。

test.txtという名前のファイルをコピーし、ポートのオプションを使用して、今回は別の名前でリモートサーバーに保存するとします。コマンドは次のようになります:

scp -P 8080 test.txt userbravo@destination_host:/user/home/test2.txt

この例では、ファイルtest.txtをローカルマシンからリモートにコピーし、ポート8080を使用してtest2.txtとして保存します。

リモートからローカルにファイルをコピー

これを理解するためのより良い方法は、例を使用することです。リモートシステムからファイルをコピーするシナリオを考えてみましょう。ファイルをコピーするには、最初にSCPを呼び出し、次にリモートユーザー名@ IPアドレス、ファイルへのパスを呼び出す必要があります。

パスを指定しない場合、この場合はデフォルトとしてユーザーのホームディレクトリと見なされ、ファイルがローカルに保存されるパスに従います。

構文

scp file <remote_username>@<IPorHost>:<PathToFile>   <LocalFileLocation>

linuxcheatsheetという名前のファイルをコピーしたいとします。 このアドレスのリモートデバイスから192.168.1.100

linuxcheatsheet ファイルは、認証するユーザーであるkaliユーザーのホームディレクトリに保存されます。したがって、コロンの後にパスを指定する必要はありません。これはデフォルトのパスであり、ホームディレクトリであり、ファイル名(“ linuxcheatsheet”)を入力するだけです。次に、ドットを入力して、ファイルを保存するローカルの場所として現在のディレクトリを指定します。

scp linuxcheatsheet [email protected]: .
リモートホストから別のホストにファイルをコピー

ファイル転送でSCPを使用する利点は、ローカルマシン間の接続だけでなく、リモートサーバーへの接続も可能になることです。

test.txtという名前のファイルを別のリモートサーバーにコピーしたいとします。コマンドは次のようになります。

scp [email protected]:/files/test.txt [email protected]:/files

このコマンドは、user1のfilesフォルダーからtest.txtをコピーし、 host2.comで実行されるuser2にその複製を作成します。 まだファイルフォルダにあります。

複数のファイルをコピーする

複数のファイルをコピーする場合は、ファイル名をソースパスとして指定するだけです。たとえば。

構文

scp file1 file2 ... user@<ip_address_of_user>: Destination

ファイル1、2、3、4をコピーしたいとします。コマンドは次のようになります。

scp file1.txt file2.txt file3.txt file4.txt [email protected]:/home/user/Desktop

テイクアウトポイント:

  • ファイルをコピーできるようにするには、ソースファイルに対する読み取り権限とターゲットシステムに対する書き込み権限が必要です。
  • SCPコマンドは安全なデータ転送をSSHに依存しています。つまり、リモートシステムで認証するにはパスワードが必要です。
  • 同じ名前と場所のファイルをコピーする場合は、SCPが警告なしに上書きするため、注意してください。
  • ローカルとリモートの場所を区別できるようにするには、コロン全体を使用します
まとめ

あなたがサポートエンジニア、システム管理者、あるいはLinuxを使用している、またはLinuxを学びたいと思っている私のような成長中の開発者であるかどうかにかかわらず、ある時点でファイルを転送しなければならない可能性があります。そして、これらの単純なSCPコマンドを知っていると便利です。

この記事では、SCPを使用したい、そしてうまくいけば何か新しいことを学んだ、最も一般的なシナリオのいくつかを取り上げました。

コーディングをお楽しみください❤


Linux
  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. Linuxでコマンドラインからファイルを分割して結合する方法

  3. Scpを使用してローカルディレクトリXからリモートディレクトリYにファイルを転送しますか?

  1. リモートサーバーからローカルマシンにファイルをコピーする方法は?

  2. LinuxでNetcatを使用してファイルを転送する方法

  3. SCP と Rsync を使用して Linux でファイルを転送する方法

  1. Linuxコマンドラインからtar.gzファイルを抽出または解凍する方法

  2. Linux で SCP コマンドを使用してファイルを安全に転送する方法

  3. Linuxターミナルを介してローカルファイルをサーバーにアップロードする方法