Linode申込後の初期設定のメモ(ssh編)
注意事項
OSは、使い慣れているCentOSの最新版(現状では、5.3)を選択しているので、それを前提として今後話をすすめていきます。
事前準備
Networkのタブを選択し、Network Configurationのエリアに表示されている自分のサーバのeth0(IPアドレス)を確認しておきます。
以下、このように表示されていたものとして話をすすめます。
アカウント作成
まずはrootでしかアカウントは存在しないので、rootでログインします。
$ ssh root@xxx.xxx.xxx.xxx
何はともあれ、自分用のアカウント(xxxxx)を作成してしまいます。その際、wheelグループに所属するようにしておきます。忘れずにパスワードも設定しておきます。
# useradd -u 400 -G wheel xxxxx # passwd xxxxx
sudoのインストールと設定
素の状態では、sudoパッケージすらインストールされていないので、インストールしておきます。
# yum install sudo
wheelグループに所属するユーザのみsudoを許可するように設定しておきます。
# visudo # コメントアウトされているのを外す %wheel ALL=(ALL) ALL
公開鍵でのsshログイン設定
linodeサーバへsshログインするマシンにて公開鍵/秘密鍵を作成し、公開鍵をlinodeサーバにscpで転送しておきます。
$ ssh-keygen -t rsa $ scp ~/.ssh/id_rsa.pub xxx.xxx.xxx.xxx:~
$ ssh xxxxx@xxx.xxx.xxx.xxx
そのままだと、ホームディレクトリ直下に.sshディレクトリが存在しないので、作成します。(mkdir ~/.ssh && chmod 700 ~/.sshでもOK)
$ ssh localhost ※コマンド実行後に ~/.ssh/ ディレクトリが作成されたことを確認してください
公開鍵をauthorized_keysに追記しておきます。(追記後は、元ファイルは削除しておくこと)
$ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys $ rm id_rsa.pub
sshdの設定変更
そのままだとセキュリティ上の問題があるので、サーバへのsshログインの制限をかけておきます。
設定ファイル(sshd_config)の変更は以下の通りです。
$ sudo vi /etc/sshd_config # パスワード認証を無効化し、公開鍵認証を有効化する PasswordAuthentication no PubkeyAuthentication yes ChallengeResponseAuthentication no # rootでの直接ログインは認めない PermitRootLogin no # PAM認証は使わない UsePAM no # リモートホスト名の確認は行わない UseDNS no # X11 Forwardingは使わない X11Forwarding no # 許可ユーザを制限 AllowUsers xxxxx
最後にsshdを再起動します。
$ sudo service sshd restart
もちろんsshログインできることを確認して下さい。