それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Cockpitでリモートからブラウザ経由でUbuntu /Debian GNU LinuxをWEBから管理する

cockpit を試してみて良かったのでめも

Cockpit は、Debian/Ubuntuなどで利用できる管理ツールで、Webブラウザから操作ができる。

ターミナルが使えたり

ブラウザからターミナルが使えたり

f:id:takuya_1st:20180818193339p:plain

daemon プロセスを再起動できたり

ブラウザからsystemd のプロセスを再起動できたり、

f:id:takuya_1st:20180818193420p:plain

モニタリング。

ディスクの使用量やCPUメモリの使用量を確認したり

f:id:takuya_1st:20180818195751p:plain

vm / docker のプロセスを管理

vm や Docker のコンテナをパパッと再起動したり状態をみたり

f:id:takuya_1st:20180818195310p:plain

systemd の依存関係をGUIで見れるから便利

ぐちゃぐちゃになるSystemdの依存関係や管理が資格的に行えるのはメリットがある。systemdのdaemonやタイマーの一覧して表示するのに便利だと思う。

f:id:takuya_1st:20180818195610p:plain

スマホから操作するのに便利。

ちょっとした再起動を試すのに、スマホからパパッとできるのでいいですね。

Cockpit プロジェクトをインストール

Debain 9 ( stretch ) には、Ubuntuと違ってBackportsで提供されていました

backports の導入とインストール

backportsの導入

echo 'deb http://deb.debian.org/debian stretch-backports main' > \
 /etc/apt/sources.list.d/backports.list
apt-get update

インストール

sudo apt-get install cockpit

起動

起動はsystemd socket で行われるので通常は使わなくていいらしい?

ポートとListenアドレスの指定

デフォルトでは、グローバルIPもローカルIPもローカルループバックアドレスもお構いなしにリッスンしてしまうので、ポートを決めておく。

cp /lib/systemd/system/cockpit.socket  /etc/systemd/
cat /etc/systemd/system/cockpit.socket
[Unit]
Description=Cockpit Web Service Socket
Documentation=man:cockpit-ws(8)
Wants=cockpit-motd.service

[Socket]
ListenStream= 127.0.0.1:9090
ExecStartPost=-/usr/share/cockpit/motd/update-motd '' localhost
ExecStartPost=-/bin/ln -snf active.motd /run/cockpit/motd
ExecStopPost=-/bin/ln -snf /usr/share/cockpit/motd/inactive.motd /run/cockpit/motd

[Install]
WantedBy=sockets.target

リロード

systemctl stop cockpit.socket
systemctl daemon-reload
systemctl start cockpit.socket

後は適当に認証する。

nginx とかApache で認証したり、vpnssh port forwarding 経由で使えばいいですよね。

ログイン画面

ログインは、ローカルユーザー( /etc/passwd ) で行うので、総当りされると面倒だし。安易にグローバルIPに公開できないですね。

f:id:takuya_1st:20180818193254p:plain

ssh 経由で認証したり、kerberos 認証したりもできるってさ

参考資料

https://cockpit-project.org/guide/latest/listen.html

https://cockpit-project.org/running#debian

ウェブブラウザーから操作できる軽量管理ツール「Cockpit」

gihyo.jp