まえがき
コストをできるだけ抑えた環境(VPS)が欲しかったので Hetzner Cloud を使っていきます
その時のやり方をここに残します!
アカウント作成
Hetznerのサイトからアカウントを作成します
- メールアドレス/パスワードで登録します
- メール認証を完了させます
- 個人・請求情報(氏名、住所、電話番号など)を追加します
- 支払方法の指定をします
- 本人確認をします
本人確認について -> マイナンバーカード や 運転免許証などが選べます
マイナンバーの場合は裏側の撮影が要求されますが、マイナンバーなどの部分は隠しても大丈夫だそうです
もし、完了しても確認されないで、手動認証に回される場合は数日かかるそうです(4日かかりました)
サーバーの作成
まず、Hetzner Console にログインします
「project」を作成または選択して、「server」を作成します
そのときにいろいろ設定します
特別設定したのを以下に示します
「Type」:できるだけコストを抑えたかったので「Cost-Optimized」の「CX23」(RAM=4GB, DISK=40GB, TRAFFIC=20TB)を選択しました
「Networking」:後で後悔しましたが、「IPv4」は有料(USD表示で0.60ドルでした, 2026/05/21時点)だったので、「IPv6」のみを選択しました
「SSH Key」:設定しておくといいと思います(サーバとのssh接続がすごく楽)
できたら、「Create & Buy Server」で作成します
IPアドレスの確認
「Servers」 -> 「Networking」 -> 「Public Network」でIPアドレスを取得します
IPv6ではアドレス範囲が割り当てられているはず?(~:~:~:~::/64っていうやつ)なので、末尾が::1なのを使ってみました
サーバーの設定
コマンドプロントで
ssh root@[IPv6]
で接続します
そしたら
Are you sure you want to continue connecting (yes/no)?
って聞かれるから yes と入力したら次回以降表示されません
一旦、明記するまで接続は維持してください
アップデート
apt update && apt upgrade -y
OSを新しくします
基本インストール
apt install -y curl git ufw fail2ban
タイムゾーン
timedatectl set-timezone Asia/Tokyo
で日本時間にします
ファイアウォール(UFW)
ufw allow OpenSSH
ufw allow out 443/tcp
ufw enable
で有効化できます
ウェブに開くには
ufw allow 80/tcp
ufw allow 443/tcp
でhttp(80ポート)やhttps(443ポート)を開きます
ログインの制限
nano /etc/ssh/sshd_config
で開いて、
#PermitRootLogin prohibit-password
#PasswordAuthentication no
にします
ここではルートログインを続けますが、禁止したいなら #PermitRootLogin no にします
Ctrl+O でファイルを指定して保存します(ファイル名を変えるとどうなるかは知りません)
Ctrl+X で終了します
設定の更新
systemctl restart ssh
でリスタート
確認
systemctl status fail2ban
で確認します
接続の切断
ここからは接続を切っても大丈夫です
exit
で終了できます
Pythonの導入
Pythonを入れたかったのでここからが本題?です
apt update && apt install -y python3 python3-pip python3-venv
でインストールします
おわりです
IPv6の注意点
サーバー上でPythonを使ってGithub APIを使おうとして実行しても、うまくいきませんでした
原因を考えたり、AIに相談してみれば、
- IPv4しか対応してない
- DNS側でIPv4が返されてアクセスルートがない
などと言われたので、IPv4を使うことを決意しました...
一応、IPv6だけでいろいろとやってみたのですが、pingはいけましたがcurlがどうしても無理でした
最後に
ありがとうございました