Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでSCPを使用してファイルを安全に転送する方法

LinuxでSCPを使用してファイルを安全に転送する方法

Linuxサーバーにアクセスする場合、いくつかのオプションがあります。ユーザーインターフェースを備えたサーバーの場合はVNCを使用できますが、より一般的なオプションは、SecureShellまたはSSHを使用してヘッドレスサーバーにログインすることです。これは暗号化された安全なプロトコルであり、SSHクライアントを介してリモートシステムにアクセスできます。ただし、一部のファイルをサーバーに送信したい場合もあります。そのためには、堅牢なSSHプロトコル上で実行されるSecure Copy(SCP)と呼ばれるプログラムを使用して、ネットワーク経由でリモートシステムにファイルをすばやく転送できます。ここでは、LinuxでSCPを使用してファイルを安全に転送する方法を示します。

SSHの設定

サーバー(またはアクセスするリモートシステム)に、SSHサーバーをインストールする必要があります。 Linuxで最も一般的なのはOpenSSHサーバーです。これをインストールするには、次のいずれかのコマンドを実行できます。

# Debian/Ubuntu-based server
sudo apt install openssh-server
 
# Fedora/Centos
sudo dnf install openssh-server
LinuxでSCPを使用してファイルを安全に転送する方法

ディストリビューションによっては、SSHが一部のソフトウェアファイアウォールを通過できるようにする必要がある場合があります。 Ubuntuでは、この問題は発生しませんが、CentOSでは、次のコマンドも実行する必要があります。

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
LinuxでSCPを使用してファイルを安全に転送する方法 LinuxでSCPを使用してファイルを安全に転送する方法

この時点で、SSHクライアントが必要になります。ほとんどのディストリビューションでは、OpenSSHクライアントがインストールされています。ただし、そうでない場合は、次のコマンドを使用してインストールしてください。

# Debian/Ubuntu-based distro
sudo apt install openssh-client
 
# Fedora
sudo dnf install openssh-client

SSH経由でシステムに接続する

SCPをいじる前に、SSHが機能することを確認しましょう。 SSH経由で接続する前に、サーバーのIPアドレスを検出する必要があります。グラフィカルサーバーでは、IPアドレスはシステム設定のネットワークアプレットに表示されます。ほとんどのサーバーでは、ipを使用する必要があります ターミナルのコマンド。

ip a s
LinuxでSCPを使用してファイルを安全に転送する方法

出力で、inetで始まる行を探します eth0の下 またはenp1s0 、ネットワークインターフェイスがシステムに接続されている方法によって異なります。私の場合は192.168.122.201です。

SSH接続をテストするには、Linuxクライアントマシンに移動して次のように入力します。

ssh [email protected]

「ユーザー」をサーバー内の実際のユーザー名に変更します。

LinuxでSCPを使用してファイルを安全に転送する方法

そのアカウントのパスワードを入力すれば、あなたは仕事をしています。 「ホストの信頼性を確立できない」という質問があった場合は、その質問に「はい」と答えてください。これは、なりすましではなく実際のサーバーに接続していることを確認するために設計されたセキュリティチェックです。サーバーに直接ログインしたときに表示されるのと同じプロンプトがクライアントシステムに表示されるはずです。これは、接続が成功したことを意味します。また、次の手順に進む前に、セキュリティが最大になるようにSSH接続を構成する必要があります。

SCPを使用したファイル転送

SSH接続をテストしたので、2台のマシン間でファイルのコピーを開始できます。 scpを使用して安全なコピーを実現します 指図。 scpの基本フォーマット コマンドは次のとおりです:

scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/DESIRED/DESTINATION

たとえば、ファイル「backup.txz」をローカルマシンから、IPアドレス192.168.1.101のリモートサーバー上のユーザー「maketecheasier」のホームディレクトリにある「backups」フォルダにコピーするには、次を使用します。

scp backup.txz [email protected]:~/backups/
LinuxでSCPを使用してファイルを安全に転送する方法

sshを使用して接続する場合と同様です 、パスワードの入力を求められます。コマンドで指定されたユーザー名の入力を求められることはありません。

次のようなワイルドカードを使用することもできます:

scp *.txz [email protected]:~/backups/

リモートサーバーからローカルマシンにファイルをコピーするには、パラメータを逆にするだけです。

scp [email protected]:~/backups/backup.txz .

標準のcpの場合と同様に、コマンドの最後にある「現在のディレクトリ」を意味するドットに注意してください。 またはmv コマンド。必要に応じて、他のディレクトリを簡単に指定することもできます。

scp -r [email protected]:~/backups/ backups-from-server/

ワイルドカードについても同じです:

scp [email protected]:~/backups/*.txz .

ディレクトリをリモートサーバーに再帰的にコピーするには、-rを使用します オプション:

scp -r backups/ [email protected]:~/backups/

また、ディレクトリの再帰コピーをリモートサーバーからローカルマシンにコピーするには、次を使用します。

scp -r scp -r [email protected]:~/backups/ .

他のSCPコマンドを試す

さらに先に進むには、-Cを試してみてください オプション。コピー中または-l中に圧縮を有効にします。 オプション。コピー中の帯域幅を制限します。

毎回パスワードを入力せずにファイルを転送するために、サーバーに接続するための秘密SSHキーを生成することもできます。


  1. SendAnywhereを使用してファイルをさまざまなデバイスに安全に転送する

    私たちはマルチデバイスとマルチプラットフォームの時代に生きています。自宅で使用するデバイスは、職場で使用するデバイスとは異なる可能性があります。あなたの家族、友人、同僚も複数の環境に住んでいます。デバイスとプラットフォーム間でファイルを送信する必要がある場合、問題が発生します。 電子メールは、ファイルを交換するための最も古く、最も人気のある方法の1つですが、必ずしも最も実用的であるとは限りません。 DeskConnectのApple環境のみのソリューション、クラウドベースの送信システムDroplr、さらにはDropboxのようなクラウドストレージなど、この問題を解決するための多くの試みがあり

  2. Windows 10 で近距離共有を使用してファイルを転送する方法

    Microsoft Windows 10 1803 の最新の更新プログラムには、さまざまな便利な機能が付属しています。そのうちの 1 つは Apple の AirDrop のようなもので、近くにある他のデバイスとワイヤレスでリンクやファイルを共有できます。この新機能は、近距離共有と呼ばれます。この新機能を使用すると、Bluetooth と Wi-Fi を使用してファイルとフォルダーを共有できます。 近距離共有をオンにする方法: [エクスペリエンスの共有] から有効にすることができます。設定を変更して、自分のデバイスまたは全員からファイルを共有できるようにすることもできます。 注: [ク