なんか昔を思い出す感じの入門的な雑記記事。もうVPSなんか流行らないと思って去年解約したんだが、なんやかんやあってまたいじりたくなってきた。いっときはもう全部サーバレスでいいんじゃないのみたいな感じにもなっていたが、最近いろいろ思うところあり、遅ればせながら真面目にコンテナ使っていろいろやろうとしている。そうすると、24時間稼働するコンテナ用のマシンを、家の環境以外のもうちょっとまともなところで欲しくて、まぁRAM 2GBならちょっとしたコンテナは動くでしょう、ということでVPSを借りることにした。
それでまぁ、なんだかんだで安いし、俺たちのGMOグループのConoHaを再び契約したのだった。
VPSの作成
まぁVPSの作成はダッシュボードから言われるままにサーバーを追加すればいいだけであり、特に何も言うことはないのだが、いくつか「ん?」となったところもあったのでメモ。
イメージの選択
何にしようかなと思ったが、別に今更新しいディストリビューションを試したいという気持ちもあまりなかったので、Ubuntu 24.04のイメージを入れた。CentOS Streamは憚られた。Rocky Linuxとか興味ないでもなかったが、Dockerについてさほど知見があるわけでもないし、Ubuntuのほうが情報量が多かろうと思った。アプリケーションとしてDocker用のイメージもあったのだが、KASUGAIはともかくDockerは自分でインストールしたほうが後々の運用も考えると良さそうに思えたので、特に利用せず、素のUbuntuにした。
rootパスワードは忘れるとめんどくさいので忘れずメモ。Bitwardenのセキュアメモでしている。
鍵とセキュリティグループ
SSHの鍵については最初に登録できるようだ。この時、セキュリティグループをIPv4v6-SSHにするなどして、22番ポートを空けておくと、スムーズに使える(ポート番号を変えるならその限りではない)。自分はセキュリティグループの存在に気づかず、defaultにして作成したため、「入れないんだが???」としばらく右往左往した。いつの間にこんなAWSみたいな機構ができたんだろう。まぁ便利だと思うけどさ。
鍵を作成する場合は忘れずにダウンロードしておく。ダウンロードした鍵は ~/.ssh 以下に置き、パーミッションを忘れずに400にしておく。
rootログイン
まぁ別にこれも取り立てて言うほどのことはないのだが、いくつか「ん?」となったところもあったので。
コンソールでログイン
いつのまにかWeb画面からコンソールでログインできるようになっていた。
SSHしなくてもログインできる手段があるのは心強い。ConoHaも進歩しているのだなぁと思ったのもつかの間、いじってみたところキーボードが全然きかなくて「クソぁ!」と思ったが、モードをVNCからシリアルに切り替えると、スムーズに動くようになった。VNCが全然使えなかったのは、Macだからとかあるのだろうか。
SSHでログイン
sshでのログイン方法については、普通通りなので特に言うことはない。一応当サイトでは10年以上前の若かりし頃に書いたなんか雑な記事がある。
一応おさえるべきところは書いてあるように思う。多分。
- 秘密鍵を保持するディレクトリ(たいてい
~/.ssh
)のパーミッションは700 - クライアント側は秘密鍵を400でもつ
- サーバ側は公開鍵をauthorized_keysに登録する。パーミッションは600
ConoHaのダッシュボードからIPアドレスを確認し、以下のコマンド。
ssh -i 秘密鍵のパス root@IPアドレス
入れないときはセキュリティグループを確認して、IN TCP 22番ポートが空いているか確認する。
ユーザの作成とか
まぁいろいろ。
操作用のユーザを作成する
とりあえずrootログインはあんまりなので、sudo権限もったユーザは作っておくことにする。プロンプトなしはrootだと思え(雑)。
adduser ユーザ名
usermod -aG sudo ユーザ名
# ユーザ名でlogin
su - ユーザ名
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
# 使いたい公開鍵を追加
$ nano authorized_keys
authorized_keysに、公開鍵を追記する。ここらへんの操作の意味の詳述は上記の10年以上前の記事にだいたい書いてたはず。
以下を確認する。
- 作成したユーザでsshログインできる
- sudoでコマンド実行できる
まぁそのほか、rootのsshログインを禁止するとか、ポート番号を変更するとかは、やりたければやりたいようにすればいいかなと思う。
sshのrootログインを禁止
まぁrootログイン禁止くらいはやっておくことにする。
# 編集
$ sudo nano /etc/ssh/sshd_config
# Ctrl-w で permitrootlogin を検索
# yesをnoにする
PermitRootLogin no
# Ctrl-o で保存する
$ sudo systemctl restart ssh
この後、rootでログインできなくなったことを確認する。
なんかミスって誰もログインできなくなったら、Webのコンソールから修正すべし。
所感
最近サーバいじりしていなかったので、なんだか懐かしかった。サーバスペックの限界まで使い倒したい。
コメント