KAGOYA(カゴヤ)のVPSでUbuntuを初期設定しよう
おはこんばんちは。
何だか仮想通貨のWalletのことばっかり書いてる気がするので、たまにはしっかりとVPSのことを。
よくある?個人的忘備録として。
サーバーの環境
今回も使用するサーバーは以下の通り。
SERVER : KAGOYA VPS (KVM) SPEC : 2Core / 2GB / 30GB SSD OS : Ubuntu 16.04.4 LTS
いつものです()
こちらのVPSで、Ubuntuの初期設定を行いたいと思います。
初期設定あれこれ
いつものおまじない
なにはともあれ、まずやっときます。
apt uodate apt upgrade -y
hostnameの変更
sudo hostnamectl set-hostname
初期状態でKAGOYAのVPSにログインするとこんな表示になっています。
root@xxx-xxx-xxx-xxx:~#
この@~がhostnameですね。
だいたいIPが表示されていることが多いのかな?
いわゆる「localhost.localdomain」って部分ですね。
適当なhostnameを設定し、変更されているか確認してみます。
root@xxx-xxx-xxx-xxx:~# hostnamectl set-hostname hogehoge-vps root@xxx-xxx-xxx-xxx:~# hostnamectl Static hostname: hogehoge-vps Icon name: computer-vm Chassis: vm Machine ID: 87ad87dee8e67bf45c65095357b54f0e Boot ID: 76f92abef0a542a1ae265c6c4b57781a Virtualization: kvm Operating System: Ubuntu 16.04.5 LTS Kernel: Linux 4.4.0-34-generic Architecture: x86-64
みたいになっていればオッケー。
もう一つのhostname
割と見落としがちなところで、もう一箇所hostsの設定箇所があります。
二箇所それぞれの内容を見てみると、
root@hogehoge-vps:~# cat /etc/hostname hogehoge-vps root@hogehoge-vps:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 ubuntu # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1
となっています。
sudo hostnamectl set-hostname
で変更されるのは、
root@hogehoge-vps:~# cat /etc/hostname hogehoge-vps
の部分ですね。
root@hogehoge-vps:~# cat /etc/hosts
こちらは手動で変更します。
お好みのエディタ等で1行追加し、
root@hogehoge-vps:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 ubuntu 127.0.1.1 hogehoge-vps
こんな感じにしておいてください。
変更の確認
ログインし直すと、@~が変わっています。
root@hogehoge-vps:~#
ユーザーの追加とsudo権限の付与
ユーザーの追加
adduser user_name
adduserです。useraddではありません。(ややこしい・・・)
adduserだとユーザーディレクトリも自動で作ってくれるので楽。
適当なユーザーを追加してみます。
root@hogehoge-vps:~# adduser hugahuga Adding user `hugahuga' ... Adding new group `hugahuga' (1000) ... Adding new user `hugahuga' (1000) with group `hugahuga' ... Creating home directory `/home/hugahuga' ... Copying files from `/etc/skel' ... Enter new UNIX password: # 新規ユーザー用のパスワード入力 Retype new UNIX password: # パスワード入力(確認) passwd: password updated successfully Changing the user information for hugahuga Enter the new value, or press ENTER for the default Full Name []: # 特に設定する必要ないのでEnter連打で Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y # Yesでユーザー追加完了
こんな感じで完了。
sudo権限の付与
続いてsudo権限を付与します。
sudo gpasswd -a hugahuga sudo
正確には、「sudoグループに追加する」ですね。
ちゃんと追加されているか確認、
root@hogehoge-vps:~# gpasswd -a hugahuga sudo Adding user hugahuga to group sudo root@hogehoge-vps:~# groups hugahuga hugahuga : hugahuga sudo
sudoersの設定
ユーザーhugahugaでのログイン時に、sudoでいちいちパスワード入れるのが面倒なときに。
sudo visudo
細かい説明は割愛()
直接設定ファイルを編集するとミスしたときにアレなので、visudoを使ってください。
root@hogehoge-vps:~# sudo visudo # User privilege specification root ALL=(ALL:ALL) ALL hugahuga ALL=(ALL:ALL) ALL #hugahugaに全ての権限を付与 # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
あくまで自分一人しか使わないよってときはこんなんで大丈夫かと。
複数人での使用時等、都度適切な設定をしてください。
%グループ名でグループ単位での設定も可能です。
ログイン周りのあれこれ
無事sudo権限のユーザーができました。
ここから、sshのログイン周りの設定を行っていきます。
やることは以下の通り。
- ログインユーザー用の公開鍵認証の設定
- sshログイン用のport変更
- rootでのログイン禁止
- パスワード認証の禁止
- PAM認証の禁止
- ログインユーザーの限定
他のブログでもだいたい同じような内容が解説されていますね。
KAGOYA独自っぽいところ
KAGOYAのVPSは初期状態でパスワード認証が禁止されています。
なので、単にユーザーを追加しただけではそのユーザーでのsshログインはできません。
(rootログイン後のユーザー変更は可能)
公開鍵認証の設定
まずは登録する公開鍵を準備します。
利用中のターミナルソフト(Tera TermとかRloginとか)や、gitをインストールしたときに入ってくるssh-keygenとかで作成できます。
が、面倒なので今回は割愛()
もともとrootログインで鍵認証になっているので、それを使いまわします。(いいのか?)
ログインユーザー用のssh設定
まずは.sshディレクトリを作ります。
mkdir /home/hugahuga/.ssh
続いて認証鍵のコピー
cp /root/.ssh/authorized_keys /home/hugahuga/.ssh/authorized_keys
コピーできているか確認
root@hogehoge-vps:~# ls -a /home/hugahuga/.ssh . .. authorized_keys
忘れがちなハマりポイント
.sshディレクトリとauthorized_keysのパーミッションと所有権を必ず確認してください。
私はすっかり忘れてドハマリしました。
それでは確認
ls -la /home/hugahuga total 28 drwxr-xr-x 3 hugahuga hugahuga 4096 Aug 9 09:14 . drwxr-xr-x 3 root root 4096 Aug 8 16:59 .. -rw------- 1 hugahuga hugahuga 19 Aug 9 02:47 .bash_history -rw-r--r-- 1 hugahuga hugahuga 220 Aug 8 16:59 .bash_logout -rw-r--r-- 1 hugahuga hugahuga 3771 Aug 8 16:59 .bashrc -rw-r--r-- 1 hugahuga hugahuga 655 Aug 8 16:59 .profile drwx------ 2 root root 4096 Aug 9 10:16 .ssh ls -la /home/hugahuga/.ssh total 12 drwx------ 2 hugahuga hugahuga 4096 Aug 9 10:16 . drwxr-xr-x 3 hugahuga hugahuga 4096 Aug 9 09:14 .. -rw------- 1 root root 381 Aug 9 10:16 authorized_keys
rootですねぇ~。
コピーしてきただけだから当たり前ですが。
新規で認証鍵を生成しても所有権がrootの場合があるので、必ず確認してください。
ポイントは2箇所です。
drwx------ 2 root root 4096 Aug 9 10:16 .ssh -rw------- 1 root root 381 Aug 9 10:16 authorized_keys
こちらを、.sshの方はパーミッションを700に、authorized_keysはパーミッションを600にします。
また、所有権を全てhugahugaにします。
cd /home/hugahuga chmod 700 .ssh chmod 600 .ssh/authorized_keys chown hugahuga:hugahuga .ssh chown hugahuga:hugahuga .ssh/authorized_keys
再度確認。
ls -la /home/hugahuga total 28 drwxr-xr-x 3 hugahuga hugahuga 4096 Aug 9 09:14 . drwxr-xr-x 3 root root 4096 Aug 8 16:59 .. -rw------- 1 hugahuga hugahuga 19 Aug 9 02:47 .bash_history -rw-r--r-- 1 hugahuga hugahuga 220 Aug 8 16:59 .bash_logout -rw-r--r-- 1 hugahuga hugahuga 3771 Aug 8 16:59 .bashrc -rw-r--r-- 1 hugahuga hugahuga 655 Aug 8 16:59 .profile drwx------ 2 hugahuga hugahuga 4096 Aug 9 10:16 .ssh ls -la /home/hugahuga/.ssh total 12 drwx------ 2 hugahuga hugahuga 4096 Aug 9 10:16 . drwxr-xr-x 3 hugahuga hugahuga 4096 Aug 9 09:14 .. -rw------- 1 hugahuga hugahuga 381 Aug 9 10:16 authorized_keys
オッケー。
sshの再起動をして、
sudo service ssh restart
登録したユーザーでログインできるか確認。
hugahuga@hogehoge-vps:~$
お疲れ様でした。
ssh設定の残り
後はsshd_configをいじるだけなので、まとめてやってしまいます。
sudo vi /etc/ssh/sshd_config #Port番号の変更(何でも良いのですが、他と被らないように5桁くらいの番号が無難) # Port 22 Port 12345 #rootでのログイン禁止 #PermitRootLogin prohibit-password PermitRootLogin no #パスワード認証の禁止 PasswordAuthentication no #公開鍵ログイン PubkeyAuthentication yes #上記2つはデフォルトで設定されています(KAGOYA VPSの場合)が、念の為確認。 #PAM認証の禁止 #UsePAM yes UsePAM no #ログインユーザーの限定(最下部に追記) AllowUsers hugahuga
port変更の追加
sudo vi /etc/services
で、/etc/servicesの中を確認し、Port番号が22になっているところを全て修正してください。
確認と再起動
sudo sshd -t sudo service ssh restart
特に何も起こらなければ完了です。
rootでのログイン不可・指定ユーザーでログイン可を確認してください。
ターミナルの設定(sshポートの変更)も忘れずに!
疲れた。。。
後は何だろう?ファイアーウォールとかかな?
続きはまた次回。
ディスカッション
コメント一覧
まだ、コメントがありません