ConohaにVPS立ててみた 第1回 初期設定

ConohaのVPSで行なったこととかをこれから何回かに分けて書いていこうかなーと思いました。ほぼ自分用のメモ。

ちなみにOSはUbuntu16.04です。

一般ユーザー登録

rootユーザーだけで色々やっていくのはアカンので、とりあえずsudoをパスワードなしでできる一般ユーザーを作ります。

# useradd -G sudo -m -s /bin/bash hoge
# echo 'hoge:fugafuga' | chpasswd 
# echo 'hoge ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

ちなみに

  • useraddの対話バージョンがadduser
  • chpasswdの対話バージョンがpasswd
  • echo 'hoge ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoersの対話バージョンがvisudo

って感じです。特にsudoersをいじったりパスワードを変更する時は対話式の方がいいでしょう。ミスると恐ろしいです。

/etc/hostnameと/etc/hostsの内容の変更

まず/etc/hostnameで自分の好きな名前を設定。

# vim /etc/hostname

次に/etc/hostsの127.0.0.1の右側に/etc/hostnameに設定した名前を書きます。

# vim /etc/hosts
/etc/hosts
127.0.0.1     <ホスト名>

再起動します。ログイン後、プロンプトの表示が変わってさっき設定したホスト名になってるはず。

SSH用の鍵作成

sshでリモートログインするために鍵を作ります。VPS上ではなくクライアント側でやります。

$ mkdir ~/.ssh/conoha
$ ssh-keygen -t rsa -b 4096 -N "" -C "conoha" -f ~/.ssh/conoha/id_rsa 

sshのログインを楽にしたいので.ssh/configの編集します。下記のような感じでいいでしょう。XXX.XXX.XXX.XXXにはSSH接続先のパブリックIPを書きます。

~/.ssh/config
Host conoha1
    HostName XXX.XXX.XXX.XXX
    User hoge
    Port 22
    IdentityFile ~/.ssh/conoha/id_rsa

scpコマンドで公開鍵を転送します。conoha1は.ssh/configに書いたVPSの接続先の名前です。

$ ssh conoha1 'mkdir ~/.ssh'
$ scp ~/.ssh/conoha/id_rsa.pub conoha1:~/.ssh/authorized_keys

これで公開鍵認証ができるようになったので、ssh conoha1を実行するとパスワードを求められることなくログインできるはず。

SSHサーバーの設定変更

Ubuntuだとデフォルトで22番ポートが空いてて、sshdが動いてるんですが、やばいのがrootでログインできてしまうこと。あとパスワード認証もできないようにしたいですね。

$ sudo -s
# vim /etc/ssh/sshd_config 
/etc/ssh/sshd_config
…
# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
…
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
…

sshdを再起動します

# service ssh restart

ではクライアントからsshを実行してrootでログインを試みてみましょう。以下のようなエラーが出れば設定はうまくいってます。

$ ssh root@conoha1
Permission denied (publickey).
$

とりあえずこんな感じで今回は終わりたいと思います。