バーチャルサーバーの管理はカゴヤのウェブページを介して行うことができますが、ファイルの編集などを行うことは難しいので、SSHでログインして行うほうが便利です。
初期状態ではインスタンスのIPアドレスにrootアカウントと設定したパスワードを使ってSSH経由でログインすることができます。
まず設定ファイルのバックアップをとる。sshdが起動できなくなったときにコンソールから簡単に修復できるようにしておく。
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
次にsshd_configを修正する。ポートを変更して、rootのログインを制限して、パスワード認証を禁止する。
Port 2022 PermitRootLogin no PasswordAuthentication no
編集後は service sshd restart として、sshdを再起動。
SSHで最初に接続すると接続先のサーバーが正しいものであるかどうか聞いてきます。 このときに確認するのがサーバーの鍵の指紋(finger print)です。 サーバーの鍵は/etc/ssh/以下に保存されています。 鍵の指紋は ssh-keygen -lf /etc/ssh/ssh_host_rsa_key とすることで確認できます。 SSHで最初にログインするときにはサーバーのものと表示されたものが一致するかどうかを確認してから受け入れるようにしましょう。
パスワードによる認証を拒否するように設定したので認証用のキーを作成します。SSHでログインするユーザーごとにする必要があります。
ssh-keygen -t rsaとして、公開鍵と秘密鍵を作成します。
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/testuser/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/testuser/.ssh/id_rsa. Your public key has been saved in /home/testuser/.ssh/id_rsa.pub. The key fingerprint is: ad:8c:12:3b:b9:9e:9e:0b:1a:af:42:6b:a0:4f:2b:89 testuser@thaliana.myhome.cx
id_rsaが秘密鍵でid_rsa.pubが公開鍵です。id_rsa.pubをauthorized_keysに追加します。
cd ~/.ssh/ cat id_rsa.pub >>authorized_keys chmod 600 authorized_keys
クライアント側にid_rsaのファイルを移します。 簡単な方法はcat ~/.ssh/id_rsa として中身をコンソールに表示させてそれをコピー&ペーストします。
SSHのクライアントとしてPuTTYを使っていますが、linuxのssh-keygenで作成した秘密鍵はそのままでは使えません。PuTTY用に変換します。
PuTTYといっしょに配布されているputtygen.exeを起動します。 「Load」をクリック。 コピーしたid_rsaを読み込み、パスフレーズを入力します。 Key commentやKey passphraseを必要に応じ編集し「Save private key」をクリックして保存します。
putty.exeを起動します。 PuTTYの設定画面の「接続」-「SSH」-「認証」のプライベートキーファイルに変換した秘密鍵のファイルを指定します。
新しいSSHサーバーに既存の鍵でログインできるようにするときはid_rsa.pubの中身を~/.ssh/authorized_keysに追加します。 id_rsaとかid_rsa.pubとかはコピーする必要はありません。
sshサーバーをデフォルトの22番ポートで使用していると、不正なアクセスを試みる輩がたくさんいます。PermitRootLogin noとPasswordAuthentication noの二つの設定があれば、不正にログインされる心配はないのですが、ログにその記録がたまって邪魔になります。
これを回避する方法のひとつはsshサーバーのポートを22番から別のポート(2022とか)に変更してしまうことです。ポート番号を変更することで不正ログインの試みは激減します。