Terminal

XserverにMacのターミナルでSSH接続してdumpしたSQLをローカルにダウンロードする

2017.10.26

2017.12.08

鍵

XserverにSSHで接続してdumpしたSQLをローカルにダウンロードするまでの手順です。これ絶対忘れちゃうんで備忘録として残しておかないと!

XserverにターミナルからSSH接続する

XserverでSSH接続する方法はオフィシャルサイトに丁寧に記載されています。Tera Termで接続する方法も紹介されています。なのでサーバーでの設定は割愛して、秘密鍵がダウンロード済み前提で話を進めます。鍵のパスフレーズは忘れないようにしてくださいね!

SSH Configを作成する

XserverにSSHで接続するコマンドは下記の通りです。

$ ssh -l サーバーID -p 10022 サーバーID.xsrv.jp

しかし毎回このコマンドで接続するのは面倒なのでConfigファイルを作成して簡略します。まずダウンロードしてきた秘密鍵をホームディレクトリ直下に.sshディレクトリを作成しそこに配置します。

$ mkdir ~/.ssh
$ mv サーバーID.key ~/.ssh/サーバーID.key

このまま秘密鍵を使うとパーミンションで怒られてしまうので秘密鍵のパーミッションを変更します。

$ chmod 600 ~/.ssh/サーバーID.key

続いてcongigファイルの作成です。viコマンドで作成しても良いですしテキストエディタで作成しても良いです。viで作成する場合は下記コマンドを実行し

$ vi ~/.ssh/config

下記内容を記述します。xsshは任意の名称で大丈夫です。

Host xssh
  HostName サーバーID.xsrv.jp
  User サーバーID
  Port 10022
  IdentityFile ~/.ssh/サーバーID.key

Xserverに接続してみる

configを作ったら早速サーバーに接続してみます。

$ ssh xssh

秘密鍵のパスフレージを聞かれますので入力します。表示されませんがコピペでも大丈夫です。

毎回パスフレーズを聞かれるのが面倒

私の環境ではなぜか毎回パスフレーズを聞かれ面倒なので、パスフレーズを削除します。ファイル名も変更するので先ほどのconfigファイルも合わせて修正します。

$ openssl rsa -in サーバーID.key -outform pem > サーバーID.pem

MySQLをdumpしてローカルにダウンロードする

いよいよSSHで接続してMySQLをdumpしてローカルに保存します。

mysqldump -h MySQLホスト名 -u DBユーザー -p DB名 > dump.sql

続いて作成したsqlをscpでダウンロードします。ローカルのダウンロードフォルダにダウンロードします。リモートとの接続は解除しておきます。

scp -P 10022 -i ~/.ssh/サーバーID.pem サーバーID@サーバーID.xsrv.jp:dump.sql ~/Downloads/

SSHで接続するメリット

SSHは慣れるまでは抵抗がありますが、慣れてしまうと他のアプリやわざわざ管理画面に行かなくとも、データベースのバックアップぐらいは出来ますので、煩わしさからは解放されます!

WEBSITE DESIGN REQUEST

ホームページ制作依頼について

W・D・Sでホームページ制作をご希望の方はお気軽にご相談ください。
制作内容、ご予算、納期をお知らせいただくとスムーズです。

ホームページ制作を相談する