SSHを使用して、あるLinuxマシンから別のLinuxマシンにファイルを簡単にコピーできます。これがその例です。
SSH経由でファイルをコピー
非常に使いやすいセキュアコピーコマンドを使用できます。同じコマンドの形式は次のとおりです。
scp [options] original_file destination_file
ファイルをコピーするときは、リモートユーザー名と宛先パスを使用する必要があります。
[email protected] Address:path/to/file
サーバーのIPアドレスまたは解決可能なホスト名を使用できます。これは、あるLinuxマシンからリモートのLinuxマシンにファイルを移行するための完全なコマンドです。
scp –P 22 /home/test.txt [email protected] Address:/home/user/test.txt
ここに、上記のコマンドの説明があります。
scp : Secure Copy
-P : port number. Here, we have used the default port 22 for the SSH. If you have configured SSH to another port, you will need to use the same port
vpshost : It is a user of the remote server.
/home/user/ : Destination where we will move the file on the remote server.
上記のコマンドを使用して、ファイルを宛先リモートサーバーに簡単にコピーできますが、コピーを完了するには、リモートサーバーのパスワードを入力する必要があります。
パスワードなしでSSH経由でファイルをコピー
- ソースマシンで以下のコマンドを実行します。詳細については、SSHキーの生成を参照してください。
ssh-keygen
- lsコマンドを実行して.sshディレクトリに移動し、生成されたファイルを表示できます。 id_rsaは秘密鍵であり、id_rsa.pubは秘密鍵です。 scpコマンドを使用して、パブリックファイルをリモートサーバーにコピーします。その前に、/。sshディレクトリ内のリモートサーバーにauthorizedkey_2というディレクトリを作成します。
scp –P 22 /root/.ssh/id_rsa.pub [email protected] Address:/root/.ssh/
- 次に、リモートサーバーで以下のコマンドを実行します。
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
- .ssh/authorized_keysフォルダに以下の権限を付与します。
chmod 600 .ssh/authorized_keys
- 最後に、パスワードなしでソースからリモートサーバーへのコピーファイルをテストしてみてください。パスワードを要求されないことがわかります。
scp –P 22 /home/test.txt [email protected] Address:/home/test.txt