SCP(セキュアコピープロトコル)は、リモートシステムとローカルホストまたは2つのリモートロケーション間での簡単で安全なファイル転送を可能にするネットワークファイル転送プロトコルです。 Secure Shell(SSH)メカニズムを使用して、データとクレデンシャルの認証および暗号化機能を提供します。
管理者はSCPLinuxコマンドを使用して、サーバーにログインする必要がないため、Linuxサーバー間のデータ転送プロセスを合理化します。さらに、ファイル転送プロトコル(FTP)よりも優れたセキュリティを提供し、PCISecurityCouncil標準に準拠しています。
この記事では、VPSなどのリモートホストでSCPコマンドを使用する方法を学習します。基本的なSCPコマンドを分類し、Linuxコマンドがどのように機能するかをよりよく理解するのに役立つ例を提供します。
SCPSSHコマンド構文を理解する
2つのリモートシステム間でファイル転送を実行するためのSCPコマンドの基本的な構文は次のとおりです。
scp [other options] [source username@IP]:/[directory and file name] [destination username@IP]:/[destination directory]
コマンドの内訳は次のとおりです。
- [その他のオプション] ‒SCPコマンドに追加できる修飾子。最も人気のあるものについては後で説明します。
- [source username @ IP] ‒ターゲットファイルをホストするマシンのユーザー名とIP。
- :/ ‒ユーザーがソースディレクトリに入力することをSCPコマンドに通知します。
- [ディレクトリとファイル名] ‒ファイルの場所と名前。
- [destination username @ IP] ‒宛先システムのユーザー名とIP。
- [宛先ディレクトリ] ‒ファイルが保存される宛先ディレクトリ。
次の例は、実際のシナリオでのSCPコマンドを示しています。
scp -p [email protected]:/media/scp.png [email protected]:/desktop/destination
ローカルホストとの間でコピーする場合は、IPアドレスと、 / desktop / folder_nameのような宛先または送信元パスは必要ありません。 。
SCPコマンドを使用したファイルのコピー
SCPの最も優れている点は、2つのリモートホスト間またはリモートマシンとローカルシステム間でファイルを安全に転送できることです。次のセクションでは、転送の種類ごとにSCPコマンドがどのように機能するかについて説明します。
重要! SCPで実行する転送の種類に関係なく、SSH経由でリモートサーバーに接続しないでください。
ローカルファイルscp.zipをコピーします rootというリモートサーバーへ 。サーバーのIPアドレスはユーザー名の後にあります。
scp /users/Hostinger/desktop/scp.zip [email protected]:/writing/article
SSHクライアントの自動確認が設定されていない場合は、リモートマシンのユーザーパスワードを入力して進行状況メーターを表示するように求められます。次のようになります。
[email protected]’s password:
novel3.zip 100% 0 0.0KB/s 00:00
リモートサーバーがデフォルトのSSHポート22以外のポートでSSH接続をリッスンするように設定されているとします。この場合、 -Pを使用してそのポートを指定する必要があります。 オプション。
scp -P 2322 /users/Hostinger/desktop/scp.zip [email protected]:/writing/article
転送操作中にファイルの名前も変更する場合、コマンドは次のようになります(デフォルトのポートを使用しない場合は、 –Pを追加します。 その後に適切なポート番号が続きます):
scp /users/Hostinger/desktop/scp.zip [email protected]:/writing/article/howtoscp.zip
– rを使用します オプションの後に同じコマンドラインを続けて、複数のファイルまたはサブディレクトリを含むディレクトリをコピーします。
scp -r /users/Hostinger/desktop [email protected]:/writing/article
コマンドのソースシステムとターゲットシステムを逆にすることは、構文に反映されている必要があります。今回は、 scp.zipをコピーします 同じリモートホストからローカルコンピュータへのファイル。
scp [email protected]:/writing/articles/SCP.zip Users/Hostinger/Desktop
このコマンドを実行すると、パスワードを必要とする同じSSHログイン出力が表示されます。 sudo権限で認証が無効になっている場合、またはSSHクライアントがマシンで秘密鍵を使用するように強制されている場合にのみ表示されます。
あるリモートサーバーから別のリモートサーバーにファイルをコピーするには、端末で次のコマンドを実行した後、両方のアカウントのパスワードを入力する必要があります。
scp [email protected]:/writing/article/scp.zip [email protected]:/publishing
上記のコマンドは、ソースファイル/writing/article/scp.zipをコピーします 最初のホストから2番目のホストへ。フォルダをコピーするには、 -rを使用します オプションを選択し、その中のファイルの代わりにフォルダパスを指定します。
通常の状況では、ファイルは最初のリモートサーバーから2番目のリモートサーバーに直接移動します。ただし、マシンを介して操作を再ルーティングする場合は、 -3を追加します 次のコマンドに示すオプション:
scp -3 [email protected]:/writing/article/scp.zip [email protected]:/publishing
上記の例は、コマンドを変更するいくつかのSCPオプションを特徴としています。 1文字形式(-o)とそれに相当する説明(–option)には、多くの一般的なオプションがあります。
-q たとえば、パラメータは、システムにクワイエットモードで操作を実行するように促します。進行状況メーターの出力、および警告メッセージと診断メッセージを無効にします。 -vを使用します デバッグを容易にするために詳細出力を有効にするパラメータ:
scp -v /users/Hostinger/desktop/scp.zip [email protected]
-4 および-6 オプションは、使用するプロトコルバージョン(IPv4またはIPv6)を決定します。 address-familyキーワードを使用して、IPアドレス要件をより包括的に構成することもできます。
scp -6 [email protected]:/users/Hostinger/desktop/scp.zip
-p オプションは、ソースファイルからの変更、アクセス時間、およびモードを保持します。
scp -p /users/Hostinger/desktop/scp.zip [email protected]
-statを使用します 作成日やファイルサイズなど、コピーしたファイルの詳細を確認するオプション。
-C オプションは、転送操作が行われている間、大きなファイルまたはディレクトリのデータ圧縮を有効にします。このオプションは、 .zipなどの圧縮ファイルでは機能しないことに注意してください。 および.rar アーカイブ。
scp -C Folder [email protected]
-Cと混同しないでください 、 -c オプションを使用すると、クライアントが使用する暗号化アルゴリズムを指定できます。入力できる値には、「 aes256-ctr」があります。 ‘、‘ aes256-cbc ‘、および‘ 3des-cbc ‘。シェル構成のデフォルトオプションは「AnyStdCipher」です。 ’。
scp -c 3des-cbc /users/Hostinger/desktop/scp.zip [email protected]
重要! SCPオプションでは大文字と小文字が区別されるため、注意して使用してください。
セキュアコピープロトコルにより、ネットワーク上の複数のリモートシステム間でのファイル転送が容易になります。暗号化された接続を介してログインしなくても、あるリモートホストから別のリモートホストにファイルを安全にコピーできます。
さらに、このリモートファイル転送方法は、安全なシェルを使用してデータを暗号化し、送信される情報の機密性を確保します。
この記事が、SCPコマンドがどのように機能し、Linuxサーバーで適切に使用する方法を理解するのに役立つことを願っています。
ファイル転送にSCPコマンドを使用する方法– FAQ
WindowsでSCPを実行するにはどうすればよいですか?
PuTTYを介してWindowsでSCPを実行できます。このターミナルエミュレータは、SSH接続を使用したファイル転送用のPSCP(PuTTY Secure Copyクライアント)を提供します。
PuTTYをダウンロードしてインストールすると、WindowsコマンドラインインターフェイスからSCPコマンドを使用できるようになります。
SCP構文はWindowsマシンでも同様に機能します。唯一の違いは、各コマンドラインを pscp -scpで開始する必要があることです。 。
WindowsでのSCPコマンドの基本的な構文は次のとおりです。pscp -scp [other options] [source username@IP]:/[directory and file name] [destination username@IP]:/[destination directory]
SCPコマンドでパスワードを渡すことはできますか?
SCPコマンドの最も優れた機能の1つは、パスワードの暗号化です。これにより、転送プロセス中にファイルとディレクトリが保護されます。ただし、特に複数のファイルを移動する必要がある場合は、各ファイル転送を開始するためのユーザーパスワードの入力に時間がかかる可能性があります。
SCPコマンドラインにSSHPASSを実装すると、パスワードプロンプトをバイパスして、認証プロセスを自動化できます。 。
このユーティリティは、キーボードと対話するパスワード認証を提供し、次のように1行のコマンドを使用してソースからターゲットシステムにファイルを転送できるようにします。
sshpass -p [password] scp -r /users/Hostinger/desktop [email protected]:/writing/article
SSHキーペアを生成することでSSHPASSを有効にできます。 Windowsマシンを使用している場合、PSCPでは -pwを使用してパスワードを渡すことができます オプション:
sshpass -pw [password] [email protected]:/writing/article
SCPを停止または一時停止するにはどうすればよいですか?
Ctrl + Z を押すと、「ターミナル停止」信号(SIGTSTP)でプロセスを一時停止できます。 。プロセスを再開するには、 fgと入力してSIGCONTシグナルを送信します。 。
SIGCONTが機能しない場合、他のオプションには rsyncの使用が含まれます 効用。ソースファイルまたはディレクトリを部分的にアップロードされたものと比較して、重複を回避し、間接的にダウンロードを再開します。
rsyncの基本的な構文は次のとおりです。 :
rsync [option] user@host:[file/directory origin] [destination]
次の例は、rysyncを使用して .zipを再帰的にコピーする方法を示しています。 ファイルを作成し、その所有権を保持します:
rsync -a /users/Hostinger/desktop/scp.zip [email protected]