rhasm.net/blog

興味の赴くままに色々紹介し、解説をするブログです。

*

さくらのVPSを使ってみた。

      2015/08/30

さくらのVPSを使ってみた

今まで[email protected]でブログをやっていて、まあそのままでもよいのですが、一度クリーンにして調整をしたいなと思ったので、さくらのVPSを借りてブログを引越ししてみることにしました。

[email protected]をもうひとつ借りてもよかったのですが、そういえばまださくらは試していないなと思ったのです。

この記事の構成

この記事は全4本の記事のうちのひとつです。

そして、この記事は以下の構成となっています。

  • まずは管理画面を紹介します
  • SSHで接続できるように設定をします
  • SSHで公開認証鍵を使ったログイン設定をします

さくらのVPS 管理画面

とてもシンプルな管理画面です。
さくらのVPS コントロールパネル
どこかのレンタルVPSのように変なドラッグ&ドロップのサーバ操作のような変な飾りっ気はありません。なおかつ、ブラウザで使えるリモートコンソールがあるのはとてもよいです。
さくらのVPS リモートコンソール
なお、初回にリモートコンソールを使うと、設定が延々と続いてしばらく止まったように見えることがあります。が、そのうちゆっくりですが動くので放置して待ちましょう。私は30分くらい放置しました。

まずはユーザの作成とSSHの基本設定

まずはリモートコンソールを使います。
さくらのVPSからroot情報が送られてきますので、rootでログイン。

$ adduser [ユーザー名]
$ passwd [ユーザー名]

この2つのコマンドでパスワード付きのユーザを作成します。

次にSSHの設定です。

$ vi /etc/ssh/sshd_config

ちなみに私はemacsが好きなので、あらかじめ

$ yum install emacs

でemacsをインストールして、

$emacs /etc/ssh/sshd_config

と、emacsで作業をしています。

エディタでの変更箇所です。

#       $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

#Port 22

先頭からこのような内容になっているので、この例でいうと12行目にあたる

#Port 22

を、次のように変えます。

Port 9999

22のままだとSSHの標準ポートですのでセキュリティ的な意味で数字を変えるわけです。9999ではなく、他の任意の数字にしてください。これが接続ポート番号になります。

さらに、rootでのログインを不許可にします。
途中にこんな部分がありますので、

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

上の例で言うと4行目を次のように変更します。

PermitRootLogin no

以上で、一旦保存して終了。

$ /etc/init.d/sshd restart

SSHを再起動しておきます。

SSH接続のテスト

TeraTermを使って、一旦ログインできるかどうか確認しておきましょう。
TeraTerm
ホストには、割り当てられたVPSのIPアドレスを指定。
TCPポートには、自分で設定したポート番号を指定します。
接続は「SSH2」で。

ログインはrootではできませんから、一番最初に作成したユーザとパスワードを使います。
無事に接続できたら、次はセキュリティ対策です。

TeraTermで公開鍵を作る

接続確認をしたら、一度TeraTermを起動しなおし、今度は接続をせずにキャンセルして、コンソールウィンドウを使います。
TeraTermでSSH鍵を作成する
メニューの「設定」の中にSSH鍵生成という項目があるので、選んでウィンドウを表示します。
TeraTermでSSH鍵を作成する
ウィンドウが開いたら、まずは「生成」ボタンをそのまま押します。
処理が終わると、鍵のパスフレーズを入力するように求められます。ここで入力するものが、今後ログインで使うパスワードになります。
パスフレーズを入力したら、「公開鍵の保存」「秘密鍵の保存」をそれぞれ押して、ファイルを保存しておきます。なお、秘密鍵は今後とても大切なファイルになります。このファイルが漏れたりしないように管理しなくてはいけません。

公開鍵認証をサーバで設定する

さて、TeraTermでSSHログインします。
ここでは、最初に作ったユーザとパスワードでログインしておきます。
その後、先ほど作成した公開鍵ファイルを、TeraTermにドラッグしてやります。すると、ファイル転送のダイアログが表示されます。
TeraTerm ファイル転送
「SCP」を押してファイルをサーバに転送します。
都合のよいことに、ログイン直後はユーザーのホームディレクトリにいますので、ファイルもホームディレクトリに転送されます。
転送が終わったら、以下のようにコマンドを実行します。

$ mkdir .ssh
$ chmod 700 .ssh
$ cat id_rsa.pub > .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm -f id_rsa.pub

さて、これで鍵の配置は終了しました。

ここで、もう一度、sshの設定ファイルを変更します。
一旦、rootになります。

$ su -

rootになったら、エディタで設定ファイルを読み込みです。

$ vi /etc/ssh/sshd_config
$ emacs /etc/ssh/sshd_config

どちらでも、お好みの方を。

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

こんな部分を探し出して、上の例だと9行目から11行目までを以下のように変更します。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     %h/.ssh/authorized_keys

さらにもう一箇所、

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

上の例で2行目を、

PasswordAuthentication no

に変更します。

以上の変更したら、保存して終了。その後、SSHを再起動します。

$ /etc/init.d/sshd restart

鍵を使ってTeraTermで接続テスト

最後に、接続テストです。
TeraTermでサーバに接続して、認証画面が開いたら、鍵を使います。
TeraTerm RSA鍵での認証
ユーザ名には、最初に設定したユーザ名を。
パスフレーズには、鍵を作成する時に入力したフレーズを入力します。
その後、「RSA/DSA/ECDSA鍵を使う」を選び、秘密鍵のファイルを指定。

これで接続ができたら、設定は無事に完了です。

参考にしたサイト

teppeilog:さくらVPSを借りてまずしたこと
さくらのVPS:SSH接続の設定変更方法

各サイトにお礼申し上げます。

記事のリンク

 - コンピュータ, サーバサイド, サービス ,