scpコマンドでローカル・リモート間でフォルダを転送する方法

sshコマンドを使い、セキュアにリモートとローカルでファイルのやり取りができるscpコマンドというものがある。

いつかのブログをWordPressで運用しており、ローカル開発環境に画像などを本番環境と同じにしたいときに、いつも迷ってしまうのでコマンドの使い方をメモしておく。

オプションの付ける場所に注意

基本的にリモートとの通信は、秘密鍵と公開鍵で認証したい。なので、最初に-iオプションをつけて[KEY_NAME]のところに鍵ファイルを指定する。フォルダごとダウンロードしたいので、-Rオプションを付けておくこと。

scp -i .ssh/[KEY_NAME] -r -P [PORT_NUMBER] [USER_NAME]@[IP_ADRESS]:[REMOTE_DIR] [LOCAL_DIR]

そしてその逆。ローカルにあるフォルダをリモートに上げたいときは以下のコマンドで転送する。なお、オプションの位置には注意を!

scp -i .ssh/[KEY_NAME] -P [PORT_NUMBER] -r [LOCAL_DIR] [USER_NAME]@[IP_ADRESS]:[REMOTE_DIR]

とりあえず、オプションの位置に注意すればいい。