このブログはエックスサーバーを利用しています。ときどきファイルをアップロードしたりしますが、そのやり方を解説します。
エックスサーバーは下記から契約できます↓
エックスサーバーのファイルマネージャー「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/username/.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/username/.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 にて実行するのが楽そうです。その設定の方法を解説しました。
場面に合わせて使いやすい方を使ってくださいね!
コメント
[…] 基本的にエックスサーバーにファイルをアップロードする|ssh, scpを使う方法 をみて進めていったのですが、 […]
[…] エックスサーバーにファイルをアップロードする|ssh, scpを使う方法エックスサーバーにファイルをアップロードする方法を解説します。いろんな方法がありますが、この記事では、コ […]