海外VPS での Ubuntuサーバー の 初期設定
はじめに
備忘録です。
自分好みの設定があればその部分は置き換えてください。
またこの記事に書かれていることを実行して起動不可能に陥ったりデータが消えても一切関知しません。
環境
CloudatcostのVPS、Ubuntu 14.04を利用しています。
おおまかな手順
新しいユーザーを作成する
rootユーザーしか存在しない為sudoは不必要です。
adduser ユーザー名 gpasswd -a ユーザー名 sudo
一回ログアウトし、新ユーザーでログインしておきます。
SSHの設定を行う
ssh-keygen -t rsa -f id_rsa -b 4096 mkdir ~/.ssh mv id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
SSH接続用の秘密鍵作ります。RSA鍵の必要があるので明示。Enter passphraseは空Enterで。
新規ユーザーには.sshフォルダがないので.sshフォルダを作って放り込みます。
id_rsaの内容をどうにかしてSSH接続するサーバーに持ってきておきます。僕はcat id_rsaしてコピペ横着します。
この時点で鍵のみで認証できると思うので試してみてください。
sudo editor /etc/ssh/sshd_config
sshd_configファイルを適当なエディターで開いて以下の項目を書き換えます。
05: Port 22 → Port XXXXX (任意。ポートに関しては他サイトを参照。)
28: PermitRootLogin yes → PermitRootLogin no
52: #PasswordAuthentication yes → PasswordAuthentication no
一番下の行に新たに
AllowUsers ユーザー名
設定を保存したら sudo service ssh restart して適用します。
問題に設定がある場合があるので元の接続は切らずに新規窓で開いて接続してみましょう。
追記: 2016-05-01
AllowUsersをArrowUsersにしておりました。これだとsshが立ち上がってきません。申し訳ないです。
ファイアウォールを設定する
ここではUbuntuファイアウォールツールのufwを利用します。
sudo ufw enable sudo ufw default DENY sudo ufw allow ポート数 sudo ufw limit ポート数 sudo ufw logging low
1行目で有効にして2行目でルールにない以外弾く設定に。3行目は許可するポート指定。4行目はアタックを防ぐ制御。5行目はログを取る設定です。
limitは30 秒に 6 回の接続があったらブロックされる設定です。
3行目、4行目は任意の数指定してください。
問題があればufw deleteでルールを削除してください。
日本に適した設定を行う
sudo apt-get install language-pack-ja-base language-pack-ja sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" sudo dpkg-reconfigure tzdata
再起動しときましょう。
ホスト名を変える
sudo editor /etc/hostname
アップデートする
sudo apt-get update sudo apt-get upgrade