atijust's blog

技術的なこととか。

さくら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を使うようにします。

取り敢えず、初期設定としてはこんな感じ。