さくらのレンタルサーバに鍵認証を使ってSSH接続をしてみた

PC
スポンサーリンク

今持っている 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 の引っ越しですね。

コメント

  1. […] さくらのレンタルサーバに鍵認証を使ってSSH接続をしてみた […]

  2. misskabu より:

    なかなか上手く出来なかったのですが、とても分かりやすい記事で、やっとパスワードなしで入れるようになりました。

    ありがとうございました。

    • なも なも より:

      コメントありがとうございました。
      自分がまたやる時に忘れていても出来るように記録したものです。
      無事に設定ができてよかったです。