SCPまたはRsyncを使用してプライベートネットワーク経由でファイルを安全に転送する

前書き

サーバーのパブリックIPアドレスscpなどのコマンドを使用rsyncすると、(パブリック)インターネット経由でファイルが自動的に転送されます。プライベートネットワークが有効になっている2つのインスタンスがある場合は、これらのファイルをプライベートネットワーク経由で転送して、使用された帯域幅の追加料金を防ぐこともできます。

前提条件

  • プライベートネットワークが有効になっている2つのインスタンス(これらをserver_aと呼びますserver_b
  • 両方のインスタンスには、同じサブネットでプライベートIPアドレスが構成されている必要があります(プライベートネットワークの構成を参照)
  • 両方のインスタンス間でSSH接続が可能である必要があります
  • ルートではないユーザー(これをと呼びますyour_user

SSHキーの生成と使用

ユーザー名とパスワードの認証を使用してファイルを転送することは可能ですが、SSHキーを使用する方がはるかに安全です。公開鍵と秘密鍵の生成については、「SSH鍵を生成するにはどうすればよいですか?」で説明しています。。このセクションをスキップする場合は、すべてのコマンドでリモートユーザーのパスワードを入力する必要があります。

の公開鍵と秘密鍵のペアがにあるserver_aとすると~/.ssh/id_rsa、次のコマンドを実行して公開鍵をに転送できますserver_b。のプライベートIPアドレスを使用しますserver_b

ssh-copy-id [email protected]

プロンプトが表示されたら、のパスワードを入力しyour_userます。

ssh-copy-id [email protected] /usr/bin/ssh-copy-id: INFO: Source of
key(s) to be installed: "/home/your_user/.ssh/id_rsa.pub" The
authenticity of host '192.168.0.101 (192.168.0.101)' can't be
established. ECDSA key fingerprint is
SHA256:g9dfqycqU25b567/HDjPTqaQqKhep/fysNCQAG9yJG4. ECDSA key
fingerprint is MD5:41:67:be:68:51:9b:38:a8:95:82:71:47:f1:35:39:66.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s),
to filter out any that are already installed /usr/bin/ssh-copy-id:
INFO: 1 key(s) remain to be installed -- if you are prompted now it is
to install the new keys [email protected]'s password:

Number of key(s) added: 1

次に、マシンにログインしてみます。

ssh [email protected]

必要なキーのみが追加されていることを確認してください。

からserver_aにSSHで接続server_bすると、パスワードを要求されなくなります。公開鍵と秘密鍵のペアがにない~/.ssh/id_rsa場合は、-iパラメーターでその場所を指定できます(scpand rsyncコマンドでこのパラメーターも必要になります)。

ssh-copy-id -i /path/to/your/public_key [email protected] 
ssh -i /path/to/your/private_key [email protected] 

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

SCPはSecure Copyの略で、SSH接続を介してすべてのデータを転送します。単一のファイル~/myfileserver_aからの/tmpディレクトリにコピーするにserver_bは、次のコマンドを発行します。

scp ~./myfile [email protected]:/tmp

すべてのコンテンツ(シンボリックリンクを含む)を含む完全なフォルダーをコピーするには、-rオプションを追加できます

scp -r ~./mydir [email protected]:/tmp

Rsyncでファイルを転送する

Rsyncはファイルをコピーするための多目的なツールで、2つの場所のコンテンツを同期するために最もよく使用されます。同じセキュアなSSHトンネルを使用してデータを転送します。完全なフォルダは/tmp、次のコマンドでリモートディレクトリに同期できます

rsync -av ~/mydir [email protected]:/tmp

この-vオプションは、転送の進行状況を追跡できるように詳細度を高めます。この-aオプションは、所有者、グループ、権限などの属性を保持しながら、ファイルを再帰的にコピーする「アーカイブモード」を有効にします。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。