さくらVPSを借りて作業用ユーザでSSHできるようにするまで
個人でお遊びで使うにはEC2はコスパが微妙なので、さくらVPSを借りることにしました。rootでのログインを禁止し作業用ユーザで公開鍵認証を使ってログインできるようにするまでを備忘録としてメモしておきます。OSはCentOS6(64bit)です。
rootでログインする
仮登録が完了するとサーバのIPとrootアカウントのパスワードを記載したメールが届きますので、まずはrootでログインします。
$ ssh 203.0.113.1 -l root root@203.0.113.1's password: Last login: Fri Jan 3 10:54:47 2014 from 203.0.113.2 SAKURA Internet [Virtual Private Server SERVICE] [root@www7777up ~]#
rootのパスワードを変更します。
[root@www7777up ~]# passwd ユーザー root のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: 全ての認証トークンが正しく更新できました。
作業用ユーザの作成
作業用のユーザを作成します。su、sudoできるように補助グループをwheelにしています。
[root@www7777up ~]# useradd -m -G wheel atijust [root@www7777up ~]# passwd atijust ユーザー atijust のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: 全ての認証トークンが正しく更新できました。
wheelグループにsu、sudoを許可。
[root@www7777up ~]# visudo %wheel ALL=(ALL) ALL
作業用ユーザに公開鍵認証でログインできるように設定
先ほど作成した作業用ユーザに公開鍵認証でログインできるように公開鍵を登録します。GitHub に登録した SSH 公開鍵は全世界に公開されているとのことなので、公開鍵はGithubから取ってくるようにすれば簡単です。
[atijust@www7777up ~]$ curl https://github.com/atijust.keys --create-dirs -o .ssh/authorized_keys [atijust@www7777up ~]$ chmod 700 .ssh [atijust@www7777up ~]$ chmod 600 .ssh/authorized_keys
一旦ログアウトして作業用ユーザでログインできるか確認します。
$ ssh 203.0.113.1 -l atijust SAKURA Internet [Virtual Private Server SERVICE] [atijust@www7777up ~]$
rootでのログインとパスワード認証を禁止する
rootにSSHでログインできないようにします。またパスワードでのログインもできないようにします。ポートが22番のままだとアタックを受けて気持ち悪いのでこれも適当な番号に変更しておきます。
[root@www7777up ~]# vi /etc/ssh/sshd_config PermitRootLogin no PasswordAuthentication no Port 10022 [root@www7777up ~]# /sbin/service sshd restart
以後、サーバへログインするときは作業用ユーザで公開鍵認証を使うようにして、rootでの作業が必要な場合はsudoを使うようにします。
取り敢えず、初期設定としてはこんな感じ。