VPSサーバを借りた時の基本設定、Redhat系
VPSサーバを借りた時の基本設定を書く。
SSHで接続する
たいていは、パスワードや認証キー等を使いSSH経由で接続する。初期の操作方法としては、おそらくこれ以外にはない。
アップデートする
dnf update
dnf upgrade
必要なものをインストール
なぜか、AlmaLinux9の場合、ifconfig, wgetも入っていない
dnf install net-tools wget
tailnetに接続する
このサーバにtailscaleクライアントを入れる。
https://tailscale.com/kb/1031/install-linux/にインストール方法がある。・
curl -fsSL https://tailscale.com/install.sh | sh
あとは、「tailscale up」をすれば良いが、headscaleサーバを立てている場合には、「tailscale up –login-server https://example.com」などとする。
tailscale/headscaleのコントロールパネルでこのサーバを受け入れてやるとIPアドレスが与えられ、tailnet内の他のマシンに接続できるようになる。
これで、特にsystemctlをいじることもなく、再起動してもtailscaleは勝手に立ち上がる。
cockpitを入れる
これがあると、かなり楽。
dnf install cockpit
systemctl enable cockpit.socket
systemctl start cockpit.socket
「firewall-cmd –list-all」でcockpit用のポート(9090)が空いていることを確かめること。実際には、cockpitサービスが列挙されているはず。
cockpitにアクセスする
ブラウザで「https://123.123.123.123:9090」にアクセスする。オレオレ証明書を使っているのでブラウザが警告してくるが無視して接続する。
※この時点では、tailscaleのIPアドレスではアクセスできない点に注意。外向けのIPでのみアクセス可能。また、デフォルトでrootでのログインは禁止されているため、一般ユーザでログインする必要がある。
基本的に、これ以降SSH端末は不要になるのだが、cockpitではファイル転送ができないので、その目的にはWinSCP等を使う必要はある。–>これも不要になった。 Syncthingで簡単に転送できる。
※既にtailscaleを入れているのであれば、そのIPアドレスでもよい。デフォルトでは、publicゾーンでポートがオープンされているが、tailscale経由のみの場合は、trustedゾーンにし、trustedゾーンにtailscale0インターフェースを追加しておく。これでtailnet内からしかアクセスできなくなる。
# firewall-cmd --add-service=cockpit --zone=trusted これは不要。trustedではすべてのポートが公開される。
firewall-cmd --add-interface=tailscale0 --zone=trusted # tailscale0仮想インターフェースをtrustedに追加
firewall-cmd --remove-service=cockpit --zone=public # publicゾーンからcockpitサービスを削除
firewall-cmd --runtime-to-permanent # 永続化させる。
※これで、tailscale経由でcockpitに
sshをふさぐ
いらないのでふさいでしまう。デーモンを止めてもいいが、ここではポートをブロックする。
firewall-cmd --remove-service=ssh --zone=public
firewall-cmd --runtime-to-permanent
通常のVPSの場合、何かおかしなことがあってアクセスできなくなっても、VPSサーバ会社のコンソールからアクセスできるので問題無い。
cockpitにrootでログインできるようにし、パスワードを排除する
cockpitにいきなりrootでログインできるようにする。
「/etc/cockpit/disallowed-users」にrootと書いてあり、rootではログインできなくなっているので、これを削除する。
もはやパスワードもいらないので、パスワード無しでログインできるようにする。
PAM認証システムでパスワード無しでログインするを参照のこと。
Syncthingをインストールする
ファイル転送はSyncthingが最も簡単だ。そして、Tailnet上でSyncthingを使うと、そうでない場合よりも接続しやすくなる。例えば、ノートパソコンがどこに行こうが、固定IPで良いからだ。
Alma Linux8 VPSにSyncthingでインストールと設定を行う。
dockerをインストールする
dockerのインストール
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
docker-composeのインストール
wget https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose