今持っている WordPress はさくらのVPSに置いています。
VPSを柔軟に使っていきたいと思い、Wordpressをさくらのレンタルサーバに移すことにしました。
今回借りたレンタルサーバは、「スタンダードプラン」です。
コマンドラインで作業する時があるので、鍵認証を使ってSSH接続をすることにしました。
(いろいろなサイトにも載っていますが、自分の備忘録としてまとめています)
鍵の生成
とにもかくにも鍵を作らないと話になりません。
さくらのVPS用に鍵は生成していますが、せっかくなので一から作ってみましょう。
自分のPCでの作業になります。
SSHディレクトリの作成
なければ作りましょう。
あればそのまま移動します。
~$ mkdir .ssh
~$ cd .ssh
~/.ssh$
鍵の生成
~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/namotch/.ssh/id_rsa):
鍵の保存先を指定します。
デフォルトは .ssh/id_rsa
です。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
パスフレーズを入力します。
どんなに長くても大丈夫です。
ここになにも入れなければ、パスフレーズなしでログインができるようになります。
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
...
~/.ssh$
これで完了です。確認してみてください。
~/.ssh$ ls
id_rsa id_rsa.pub
~/.ssh$
二つファイルが出来ています。
id_rsa
: 秘密鍵id_rsa.pub
: 公開鍵
パーミッションの設定
セキュリティ上、パーミッションの設定をしておきます。
~/.ssh$ chmod 600 id_rsa
~/.ssh$ chmod 700 ~/.ssh
~/.ssh$
レンタルサーバ側の設定
レンタルサーバを契約した時に、メールが届いていると思います。
[さくらのレンタルサーバ] 仮登録完了のお知らせ
《 契約サービスの接続情報 》
FTPサーバ名 : hogehoge.sakura.ne.jp
FTPアカウント : hogehoge
FTP初期フォルダ : www
サーバパスワード: *****************
こちらのアカウントとパスワードを使って作業をしていきます。
「hogehoge
」の部分は最初に登録したサブドメイン名になります。
公開鍵をレンタルサーバへ転送
作成した公開鍵(id_rsa.pub
)をレンタルサーバへコピーします。
転送は scp で行います。
~$ scp ~/.ssh/id_rsa.pub hogehoge@hogehoge.sakura.ne.jp:~/.ssh/
The authenticity of host 'hogehoge.sakura.ne.jp (***.**.**.**)' can't be established.
ECDSA key fingerprint is SHA256:*******************************************.
Are you sure you want to continue connecting (yes/no)?
最初のログイン時にはこのメッセージが出ますので、「yes
」を入力してエンターを押します。
2回目からは出なくなります。
ここでパスワードを入力してください。
Warning: Permanently added 'hogehoge.sakura.ne.jp,***.**.**.**' (ECDSA) to the list of known hosts.
hogehoge@hogehoge.sakura.ne.jp's password:
id_rsa.pub 100% 749 24.3KB/s 00:00
~$
うまくサーバへ転送ができました。
レンタルサーバにパスワードでSSHログインする
まずはパスワードでログインします。
~$ ssh hogehoge@hogehoge.sakura.ne.jp
hogehoge@hogehoge.sakura.ne.jp's password:
パスワードを入力します。
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0:
Welcome to FreeBSD!
%
上記メッセージが出たら成功です。
authorized_keysの作成
「authorized_keys
」ファイルが認証用のファイルになります。
先程転送した「id_rsa.pub
」を「authorized_keys
」に統合します。
今回はファイルが存在していませんので、名前を変更するだけで大丈夫です。
% cd .ssh
% mv id_rsa.pub authorized_keys
%
もし、「authorized_keys
」ファイルがある場合は、統合させます。
% cd .ssh
% cat id_rsa.pub >> authorized_keys
% rm id_rsa.pub
%
これでオッケーです。
パーミッションの設定
セキュリティ上、パーミッションの設定をしておきます。
% chmod 600 authorized_keys
% chmod 700 ~/.ssh
%
サーバからログアウト
一度サーバから抜けます。
% exit
logout
Connection to hogehoge.sakura.ne.jp closed.
~$
[q3-adsense01]
鍵認証でのログイン
では、改めて、鍵認証でログインをしてみます。
~$ ssh hogehoge@hogehoge.sakura.ne.jp
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0:
Welcome to FreeBSD!
%
うまくログインできました。
config で簡単に
毎回毎回長いコマンドを打つのがめんどくさくなったら、config を作ってエイリアスを設定しておきましょう。
~$ cd .ssh
~/.ssh$ vi config
[~/.ssh/config]
Host hoge
HostName hogehoge.sakura.ne.jp
User hogehoge
Port 22
IdentityFile ~/.ssh/id_rsa
Host
: エイリアス名
HostName
: サーバ名
User
: ユーザ名
Port
: ポート番号を指定する場合
IdentityFile
: 秘密鍵を指定する場合
上記を設定することで、
~$ ssh hoge
で、ログインができるようになります。
おまけ:シェルを bash にする
ログインすると「%」が出てきます。
これはデフォルトシェルが csh
に指定されているからです。
いつも Debian
では、bash
を使っているため、これでは違和感ありまくりです。
せっかくなので、bash
に変更しておきます。
% chsh -s /usr/local/bin/bash
Password:
サーバのログインパスワードを入力します。
chsh: user information updated
%
これが出たら設定完了です。
一度ログアウトして、もう一度ログインしてみましょう。
% exit
logout
Connection to hogehoge.sakura.ne.jp closed.
~$ ssh hogehoge
Last login:
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0:
Welcome to FreeBSD!
[hogehoge@wwwwww ~]$
これでいつもの見慣れた感じに戻りました。
さいごに
SSH接続を鍵認証にしておくと、安全に簡単にログインできていいですよね。
レンタルサーバでもやっぱりコマンドラインで操作することが多いので、これで色々できそうです。
次は WordPress の引っ越しですね。
コメント
[…] さくらのレンタルサーバに鍵認証を使ってSSH接続をしてみた […]
なかなか上手く出来なかったのですが、とても分かりやすい記事で、やっとパスワードなしで入れるようになりました。
ありがとうございました。
コメントありがとうございました。
自分がまたやる時に忘れていても出来るように記録したものです。
無事に設定ができてよかったです。