Dive into Ofuton

お布団に飛び込もう

さくらのVPS(Ubuntu16.04LTS)を借りてからSSHのポートを変更してローカルから接続するまで

TL;DR:

  • sshdがListenするポートは複数指定できるので、まずは追加してチェックしてから22番を削除するとよい
  • ufwは使わずiptablesだけでやる
    • というかufwでポートを開けようとしても開いてなさそう
  • iptablesの設定はサーバー再起動すると消えるのでなんとかする
    • iptables-persistentをインストールする(要検証)
    • /etc/iptables/iptables.rulesを直接いじる(本当にこれで大丈夫なのか?)

iptablesについてはiptables-persistentの方がいいと思います。インストールするだけみたいなので。

参照したところ

iptablesの設定方法 – さくらのサポート情報
iptablesによるパケットフィルタリング

コマンド群

# 作業用ユーザ作成
adduser USER_NAME

# sudo出来るようにする
gpasswd -a USER_NAME sudo

# ssh ポート変更、rootログイン不可、パスワードログイン不可などにする
vi /etc/ssh/sshd_config
# 設定反映
service sshd restart #bash補完だとsshdじゃなくてsshしか出なかったのはなんでだろう。

# ufwは止める
ufw disable

# iptables (さくらのヘルプより。あくまで参考例と但し書があるが、とりあえず使う)
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport $YOUR_SSH_PORT -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

# iptablesの設定確認(今回の環境だと再起動で消し飛ぶのでなんとかする。)
iptables-save 

# 以下のどちらか
apt-get install iptables-persistent(未検証)
vi /etc/iptables/iptables.rules #iptables-saveで出てきた内容 or 上記iptablesコマンド群を書く

# 作業用ユーザssh公開鍵をおく
su USER_NAME #sshでログインしたいユーザに切り替える
cd
mkdir .ssh
echo "PUBLIC_KEY" > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chmod 700 .ssh
exit

# rebooooooooooooooot!!!!!
reboot

これでたぶんいけるとおもいます。

以下おまけ

こういう記事は前にも書いてて 、そんなに変わってないやろバリバリーと同じように設定してたらハマったと言う話。 4年経ってると変わるんだね…。

環境

ローカル MacBook Pro (Retina, 13-inch, Mid 2014)

さくらのVPS
ゾーン 石狩第1ゾーン
メモリ 512 MB
ストレージ SSD 20 GB
CPU 1コア
お値段 685円/月

メモリ1GBあたりの値段は1GB, 2GBの方が安いけど今は性能は必要ないし困ったときに上げられるのがVPSの利点なのであまり考えないことにしよう。浮いたお金(281円)

なぜVPS

  • マストドンが流行っているから
  • そろそろサーバーがほしいから
  • rootが取れるから
  • 最悪管理画面からリセットできるから
  • やろうと思えばなんでも出来るから
  • 勉強にちょうどいいから
  • 色々作って公開したいから

色々理由はあるけど、時間的、金銭的、精神的余裕を最近取り戻してきたというのと、SoftSkillsという本を読んだことがきっかけ(日本語版Amazonリンク)。

VPSを借りる

さくらのVPSは先に書いたとおり、4年前にも借りたことがあった。 当時全く不満がなかったと記憶しているので、今回もさくらもVPSにした。 また、さくらの人がMastodon会議に出ていることと、世界最大のMastodonインスタンスmstdn.jpの足回りを支えているということを聞いてさくらインターネットに好意を持ったから。人間は感情的な生き物だからしかたないね。

OSインストー

OSはCentOS6/7、Ubuntu14.04LTS, 16.04LTS、その他いくつか選べるようになっていた。どちらかでなければいけない理由もないのでちょっとだけ馴染みがあるUbuntuにした。 ボタンポチポチするだけでOSのインストールが終わるVPS素晴らしい。

WebコンソールからSSHの設定をする

さくらのVPS(Ubuntu16.0.4LTS)の管理ユーザの名前が、rootではなくubuntuであると気付くまでにムダに時間がかかってしまった。 思い込み、視野狭窄、こういうものがバグを取りづらくしているんだなと身をもって学んだ。

疲れた

こういう記事見つけた。なんでこないだは見つからなかったの…もうだめ眠いよパトラッシュ… iptables の設定を保持する(iptables-save と iptables-restore)