さくらVPS1GプランにUbuntu16.04でサーバーを構築した備忘録
さくらVPSの1Gプランを契約し、Ubuntuでの初期設定を行ったのでその手順になります。
前提
サーバー構築手順
まずはVPSのWebコンソールから以下のコマンドを順に入力していく
#パッケージリストの更新 $ sudo apt-get update #パッケージの更新 $ sudo apt-get upgrade #ユーザーの追加 $ sudo adduser ユーザ名 $ su 変更したいユーザ名
#ローカルからパスワード認証でSSH接続 $ ssh -l ユーザ名 ホスト名 例)ssh -l ubuntu 192.168.xx.xx
#ポート番号を22から任意の番号へ変更, rootログインをできなくする, PAM認証をできなくする $ sudo vi /etc/ssh/sshd_config --- # What ports, IPs and protocols we listen for - Port 22 + Port 50022 --- - PermitRootLogin prohibit-password + PermitRootLogin --- - UsePAM yes + UsePAM no #sshdの再起動 $ sudo service ssh restart
次にファイヤーウォールの設定を行う。ubuntuのファイヤーウォールはuwfというツールで設定可能らしい。
VPSの標準インストールで最初からインストールされていると思いますが、ない場合は適時 apt-get install ufw
でインストールしてください。
#IPv6サポートのOFFにする $ sudo vi /etc/default/ufw --- # Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback # accepted). You will need to 'disable' and then 'enable' the firewall for # the changes to take affect. - IPV6=yes + IPV6=no #ポートを全て封鎖して sudo ufw default deny #必要なポートのみ開放する sudo ufw allow 50022 #ufwを有効化する sudo ufw enable #iptableの設定変更 sudo vi /etc/iptables/iptables.rules --- - -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --dport 50022 -j ACCEPT #設定の反映 sudo iptables-restore < /etc/iptables/iptables.rules
ここまででVPSへの接続は初期設定の22番ポートからではなく50022ポートから接続可能となっているので、接続がうまくいくか確認する。
#ポート50022へ接続できるか確認 $ ssh -p 50022 -l ユーザ名 ホスト名
接続が確認できたら次は鍵認証接続の設定を行い、セキュリティを考慮してパスワード認証での接続を行えなくする。
#サーバ側に~/.sshを作成 $ mkdir ~/.ssh $ chmod 700 ~/.ssh #ローカルで鍵作成 $ ssh-keygen #ローカルからサーバーに鍵転送 $ scp -P 50022 ~/.ssh/id_rsa.pub ユーザー名@ホスト名:~/.ssh/authorized_keys #サーバーにログインして鍵が転送されたか確認 $ ls -l .ssh/ authorized_keysがあればOK #鍵のパーミッションを変更 $ chmod 600 authorized_keys #ローカルから公開鍵接続 ssh -p 50022 -i ~/.ssh/id_rsa ユーザー名@ホスト名 #パスワード認証をできなくする $ sudo vi /etc/ssh/sshd_config --- - PasswordAuthentication yes + PasswordAuthentication no # 最後にsshの再起動 $ sudo service ssh restart
Linuxの環境構築は初めてでしたが、ググった結果割りとはまらずに環境構築ができた。 今後はここに開発環境を構築して行きたい。