SEが教えるEC運営のブログ ウェブ運用と開発現場を経験したSEのTIPS
TOP > BLOG > IT記事

SCPコマンドでFTPを使わずサーバーにファイル転送すれば作業効率アップ

早川朋孝 早川朋孝
EC専門のSE

ローカルマシンからリモートサーバーにファイル転送をする場合、WinSCPなどが使えればそれはそれでいいのですが、GUIだとディレクトリを誤って移動させてしまうリスクがあったり、権限によって特定の捜査しかできなかったりします。

こういう理由のため、エンジニアはファイル転送には通常はpscpかscpコマンドを使います。WindowsでもMacでも使えてとっても簡単です。いくつかパターンがあるので整理します。

Windowsの場合はpscp

  • ローカルのファイルをリモートに転送する
  • リモートのファイルをローカルにダウンロードする
  • ローカルのファイルをリモートに転送する(秘密鍵あり)
  • リモートのファイルをローカルにダウンロードする(秘密鍵あり)

Macの場合はscp

  • ローカルのファイルをリモートに転送する
  • リモートのファイルをローカルにダウンロードする
  • ローカルのファイルをリモートに転送する(秘密鍵あり)
  • リモートのファイルをローカルにダウンロードする(秘密鍵あり)

注意事項

重いファイルのダウンロードはサーバーに負荷がかかります。また動作が鈍いサーバーの場合、ダウンロードには時間がかかります。

Windows pscp

Windowsの場合はコマンドプロンプトで入力します。

ローカルのファイルをリモートに転送する

pscp.exe C:\Users\USER\Desktop\filename admin@xxx.xxx.xxx.xxx:.

この場合、ローカルのデスクトップにあるfilenameをリモートのadminユーザーで/home/admin直下にファイルを転送するという意味です。このコマンドの構造を一般化して書くと以下の通りです。

pscp ローカルファイル ユーザー名@IPアドレス:サーバーのディレクトリ

リモートのファイルをローカルにダウンロードする

pscp admin@xxx.xxx.xxx.xxx:/home/admin/filename C:\Users\USER\Desktop

この場合、/home/admin配下にあるfilenameをローカルのデスクトップにダウンロードします。

ローカルのファイルをリモートに転送する(秘密鍵あり)

pscp -i C:\Users\USER\Desktop\hoge.ppk C:\Users\USER\Desktop\filename admin@xxx.xxx.xxx.xxx:.

秘密鍵が必要な場合は、ローカルの所定の場所に秘密鍵を設置して、 -i をオプションにして指定し、あとはファイルの転送です。簡単ですね。

リモートのファイルをローカルにダウンロードする(秘密鍵あり)

pscp -i C:\Users\USER\Desktop\hoge.ppk admin@xxx.xxx.xxx.xxx:/home/admin/filename C:\Users\USER\Desktop\

Mac scp

Macの場合はターミナルからコマンドを実行しましょう。

ローカルのファイルをリモートに転送する

scp /Users/user/Desktop/filename admin@xxx.xxx.xxx.xxx:/home/admin

リモートのファイルをローカルにダウンロードする

scp admin@xxx.xxx.xxx.xxx:/home/admin/filename /Users/user/Desktop/

ローカルのファイルをリモートに転送する(秘密鍵あり)

scp -i /Users/user/.ssh/admin/id_rsa /Users/user/Desktop/filename admin@xxx.xxx.xxx.xxx:/home/admin

リモートのファイルをローカルにダウンロードする(秘密鍵あり)

scp -i /Users/user/.ssh/admin/id_rsa kusanagi@xxx.xxx.xx.xxx:/home/admin/filename Users/user/Downloads/

おまけ

ちなみにポートを指定するときは、以下のように -Pオプションをつけます。この例はローカルに構築したvagrantに接続する場合です。

scp -P 2222 /Users/user/Downloads/filename vagrant@127.0.0.1:/srv/www/wordpress-one/public_html/

パターンが分かれば簡単ですね。達人になるとAtokやgoogoleに辞書登録して、よく使うサーバーに接続したりします。

どうしてもGUIで転送したい人は、FTPなどをリモートサーバーにインストールすればいいです。セキュリティは落ちるのでおすすめしませんが。

×

メルマガ登録

SEが商品登録、在庫管理、発注などのEC業務を効率よくプログラムで実施する方法を無料配信します。

  • APIやツールによる業務効率化
  • 広告運用に関するTips
  • CVRを改善するアクセス解析のコツ
このブログを書いてる人
早川 朋孝 EC専門のSE
IT業界歴20年のエンジニアです。ネットショップ勤務で苦労した経験から、EC・ネットショップ事業者に向けて、バックオフィス業務の自動化・効率化を提案するSEをしています。
Web運用の経験もあり、アクセス解析、広告運用が得意で、広告APIとプログラムとの合わせ技で並の広告代理店にはできない提案が可能です。
プロフィール
API連携の相談にのります
趣味は読書、ピアノ、マリノスの応援など
PAGE TOP