エックスサーバーにファイルをアップロードする|ssh, scpを使う方法

シェアする

どうも、ながやすです。

このブログはエックスサーバーを利用しています。ときどきファイルをアップロードしたりしますが、そのやり方を解説します。

スポンサーリンク

エックスサーバーのファイルマネージャー「WebFTP」 を使う

エックスサーバーには「WebFTP」というファイルマネージャーが標準で使えます。ファイルを数個アップロードするだけならこれが一番ラクそうです。
WebFTPの解説はここです。ブラウザ上でボタンをぽちぽちするだけなので、使用方法は簡単ですね。

レンタルサーバー「エックスサーバー」のご利用マニュアル|ブラウザからファイル操作が行える「ファイルマネージャ」で提供する機能の一覧と利用方法に関するご案内です。

ssh & scp コマンドを使う

ファイルを数個アップロードするだけなら上記の WebFTP でいいですが、複数のファイルをアップロードしたり特定の拡張子のファイルだけアップロードしたりと、ちょっと気の利いた事をしたい場合には不便です。気の利いた事をするにはコマンドラインから実行するのが定石かなと思いますので、その方法を解説します。具体的には ssh と scp を使います。

ssh のインストール

まずは ssh コマンドを使えるようにします。Linux や Mac ならほとんどの場合、標準でインストールされています。Windows の場合は自分で ssh をインストールする必要があります。個人的には MSYS2 がオススメです。

MSYS2 の場合はpacman を使ってサクッとインストールできますよ。

pacman -s openssh

ssh の鍵認証設定

次に、ssh の鍵認証設定を行います(エックスサーバーはパスワード認証には対応していません)。少しめんどくさいですが、一度設定するだけなので頑張りましょう。

まず、エックスサーバーのサーバーパネルへログインします。そして、下図の赤枠で囲んだ「ssh設定」をクリックします。

ここから ssh の設定をしていきます。と言っても簡単ですので大丈夫。まずは ssh を有効にします。デフォルトではオフになっています。下図を参考に、ssh をオンにしてください。

次に、SSH鍵のパスフレーズを入力します。これはパスワードのようなもので、今後、ssh で接続するたびに入力が必要ですので忘れないようにしましょう。

これで、 XXXXX.key という秘密鍵のファイルがダウンロードされるはずです。このファイルはテキストファイルで、エディタなどで開くと下記のような感じになっています。変更しちゃダメですよ。

この秘密鍵 XXXXX.key ファイルを、chmodコマンドでアクセス権を自分だけにした上で、ホームディレクトリのしたの.sshディレクトリに id_rsa というファイル名で保存します。

$ chmod 600 XXXXX.key
$ mv XXXXX.key ~/.ssh/id_rsa

これにて ssh でエックスサーバーに接続する準備ができました。

ssh でエックスサーバーに接続してみる

さて、sshコマンドを使うには、ユーザー名とホスト名とが必要です。これらはサーバーパネルから確認可能です。

ユーザ名は下図のようにアカウント情報から確認できます。「サーバーID」のところに記載されています。

ホスト名も下図のようにアカウント情報から確認できます。

コマンドは下記のようになります。username, svXXXX.xserver.jp はご自身の情報に置き換えてくださいね。また、エックスサーバーのsshポート番号は10022です。デフォルトの22ではないので注意が必要です。
「Enter passphrase」と表示されますので、秘密鍵を作る時に入力したパスフレーズを入力してください。これでssh でエックスサーバーに接続できます!

$ ssh username@svXXXX.xserver.jp -p 10022
Enter passphrase for key '/Users/nagayasu/.ssh/id_rsa':
Last login: Thu Jun  1 06:49:44 2017 from XXXXX.YYYY.ZZZZ.jp

scp を使ってファイルをエックスサーバにアップロードする

これまでで ssh の設定ができましたので scp もそのまま使えます。たとえばカレントディレクトリにある.txt拡張子のファイル全部をエックスサーバーのホームディレクトリへアップロードする場合は下記のようになります。途中でパスフレーズの入力を求められますので、ssh と同じものを入力してください

$ scp -P 10022 *.txt username@svXXXX.xserver.jp:~/
Enter passphrase for key '/Users/nagayasu/.ssh/id_rsa':
fuga.txt                100%    5     0.3KB/s   00:00
hoge.txt                100%    5     0.3KB/s   00:00
piyo.txt                100%    5     0.3KB/s   00:00

まとめ

今回は、エックスサーバーにファイルをアップロードする方法を解説しました。ちょっとファイルをアップロードするだけならエックスサーバーが用意しているブラウザ上で動く「WebFTP」を使うのが楽です。
気の利いたことをしたい場合は、やはりコマンドラインから実行したいので、 ssh & scp にて実行するのが楽そうです。その設定の方法を解説しました。

場面に合わせて使いやすい方を使ってくださいね!