2013年2月24日日曜日

さくらVPS契約後ログイン環境を整えるまで

作業はmacのターミナルで行なってます。

サーバーにアクセスする

契約後届くメールに書いてあるIPアドレスとパスワードを使用してrootとしてログインする。
       
ssh root@xxx.xxx.xxx.xxx
#パスワードを聞かれるのでメールで送られてきたrootのパスワードを入力
#ログイン後ソフトウェアのアップデートを確認
yum update
ログインできたら言語設定を日本後に変更
「/etc/sysconfig/i18」を編集して以下のようにすることで言語設定を日本語に
       
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

サーバーで使用するアカウントを作成する

rootでログインを禁止するために普段使うアカウントを作成します。
rootでのログインを禁止したい理由はおそらく以下のようなことだと思います。

  • ユーザの権限を管理したい
  • アカウント名がrootということがわかっているので総当たり攻撃でログインしやすい
  • 間違って設定ファイルを編集しない
※個人の解釈です

ユーザの追加方法

       
  useradd user_name
  passwd user_name

先ほど作成したアカウントでsudoコマンドを使用可能にする

       
  usermod -G wheel user_name
  visudo 
  #開いたファイルで次の行を有効化(105行目付近)
  %wheel  ALL=(ALL)       ALL

今作成したアカウントでのログインを試す。
rootでのログインを無効にしたあとにログインができないと困るので必ず試してください。

#ローカルで
ssh user_name@@xxx.xxx.xxx.xxx
#パスワードを求められるでの先ほど設定したパスワードを入力
#以下サーバー側
#root 権限で編集を行う
sudo -s
#設定ファイルを変更する前にはバックアップをとる
cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.bak
vim /etc/ssh/sshd_config
#root でのログインを禁止
PermitRootLogin no #コメントアウトされてるのでyesをnoに変更後有効化
#編集が終わったら反映させる
service sshd restart

これでsshでrootでのログインができなくなったはずです。

sshでパスワードでのログインではなく、公開鍵認証を利用してログインする

パスワードでのログインよりも、公開鍵認証でのログインのほうが安全性が高いためこっちを利用します。

#鍵の保存場所を作成
mkdir ~/.ssh
cd ~/.ssh
#鍵の作成、今回はRSA暗号方式を利用
ssh-keygen -t rsa 
#パスフレーズを聞かれます
#パスフレーズは設定しないことも可能ですが、その分だけセキュリティが低下します
#~/.ssh/ の中にid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されていれば成功
chmod 600 id_rsa.pub #公開鍵の権限を変更
#公開鍵を転送サーバー側に転送
scp ~/.ssh/id_rsa.pub  user_name@xxx.xxx.xxx.xxx:~/.ssh/authorized_keys
# :以下は転送先を指定します公開鍵の名前は「authorized_keys」が一般的らしい
#転送に失敗した場合はサーバーで先に.sshフォルダを作成してみてください
#ファイル転送はsftpでも問題はないです

#公開鍵でログインできるか確認
ssh -i user_name@xxx.xxx.xxx.xxx

公開鍵でログインができたら今度はパスワードでのログインを禁止します

#サーバー側
sudo -s
#設定ファイルを変更する前にはバックアップをとる
cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.bak
vim /etc/ssh/sshd_config
#yesをnoに変更
PasswordAuthentication no
#編集が終わったら反映させる
service sshd restart

これでパスワードでのログインを禁止して公開鍵認証でログインするようになりました。

0 件のコメント:

コメントを投稿