kukai88

垢 - やったことを残す -

リモートサーバーとファイルを送受信する ー scp コマンド編 ー

環境


scp コマンドを用いて、以下のことを行います。

  • 1. ファイルのアップロード:macOSUbuntu Server
  • 2. ファイルのダウンロード:macOSUbuntu Server

【予備知識】scp コマンドとは?

scpコマンドは、sshを利用してリモートマシン間でファイルコピーするコマンドです。

scpコマンドでは、「sshコマンド」と同じ認証でデータ転送の通信を暗号化するので、安全にリモートマシン間でファイルコピーができます。

引用元:https://webkaru.net/linux/scp-command/

ファイルをサーバーにアップロードする

ローカル PC(macOS)からリモートサーバー(Ubuntu Server)のホームディレクトリ(ubuntu/home/)にファイルをアップロードしてみます。
注:以下のコマンドはすべてローカル PC で記述・実行します。

$ scp -i .ssh/id_rsa samle.txt ubuntu@xxx.xxx.xxx.xxx:~/.

※ ホストベース認証(公開鍵認証)かつパスワード認証を拒否、という設定を適用している為、-i オプションでローカル PC 上にある秘密鍵を指定しています。

もし、上のような設定していない場合は下のコマンドを実行すれば OK です。

$ scp sample.txt ubuntu@xxx.xxx.xxx.xxx:~/.

ファイルをサーバーからダウンロードする

リモートサーバー(Ubuntu Server)からローカル PC(macOS)のホームディレクトリ(Users/{ユーザー名}/)にファイルをダウンロードします。
注:以下のコマンドはすべてローカル PC で記述・実行します。

$ scp -i .ssh/id_rsa ubuntu@xxx.xxx.xxx.xxx:~/sample.txt ~/.

※ ホストベース認証(公開鍵認証)かつパスワード認証を拒否、という設定を適用している為、-i オプションでローカル PC 上にある秘密鍵を指定しています。

もし、上のような設定していない場合は下のコマンドを実行すれば OK です。

$ scp ubuntu@xxx.xxx.xxx.xxx:~/sample.txt ~/.