Proxmoxでサーバ構築

イメージ
これまでテスト用にi5第8世代の廃棄PCを使用してきた。 とはいえ今の所何も問題は起きていないが、入れ替えも視野に入れ予備サーバを用意することに。 - メモリ:16GB - SSD:500GB - DDNS+Let's Encrypt - Ubuntu24.04 この環境なので、すぐに構築し直すことは可能だが、とりあえずこのまま置いておいて別のサーバを立てることにする。 最初はRaspberryPiで構築しようと思ったけれど、本体電源+外付けHDD電源+ディスプレイ電源と考えると、邪魔なので廃案。 そこで廃棄しようと思っていた「Lavie NS300/N」が手元にあったので、これを利用することに。 一応バッテリーは正常に動作するので、UPS代わりにそのまま。 - Core™ i3-8145U(やや非力) - メモリ:8GB(少ないが…) - HDD:1TB なので、これまで使用しているものより、若干スペックダウン。 ただ用途は、非常勤で教えに行っている専門学校生用の練習マシンとする予定なので、まぁ問題なさそう。 Proxmox導入 直接、Linuxを導入してもよいのだけれど、今回は Proxmox を導入し、その上でUbuntu Serverを動作させる計画。 USBにProxmoxのイメージを焼いて、インストールすれば問題なく完了。 ただ、現在のバージョンはdebian - trixieがベースになっているので、若干参考になるサイトが少なめ。とはいえ旧版のは参考になるので調べつつ… HDDなだけあって、最初の起動は少し遅いものの、立ち上がってしまえば問題ない。 さぁ、VMにするかCTにするか…。 GUI使うのであれば、VMかなぁ。サーバだしCTでいいかぁ。 という程度の選定で、CT(コンテナ)で進めることに。 - メモリ:4GB - CPU:2 - HDD:20GB(root disk) - HDD:400GB(home用) - Ubuntu24.04 という構成で進めることにした。 テンプレートを用意して、初期設定を行い起動。 まぁすんなりと入った。 液晶を閉じたら、Suspendになってしまったので、若干設定変更。 $ sudo nano /etc/systemd/logind.conf HandleLidSwitch=ignore $ sudo sy...

大量のパスワード生成

良くあるんだけど…

客先のサーバの管理をしていると、アカウントの作成依頼が時々くる。

どうやって管理するかと言うとExcelやGoogle Spreadsheetに
ユーザ名・パスワード、氏名、作成日などを記録しておく。

ユーザ名は、氏名から作成するので問題ないがパスワードはあらかじめ余分に生成して記録しておく。
使っていないパスワードが、あと1〜2個になったら、さらに生成して追記している。

ところが、パスワードをまとめて作れば作るほど、間隔が伸びるので作り方を忘れてしまう。
以前は、PHPで書いて、WEBアクセスで指定個数分出力させる方法も取っていたが、ブラウザを起動するのが面倒だ。

たまには、Commandの使い方の解説も含めて、記録しておこうと思う。

パスワードの作成

$ pwgen

これで、160個のパスワードを生成してくれる。(図)

ただしオプション無しだと本当にランダムに生成するので、たまたま強度の弱いパスワードが生成される。

そこで、通常は次のようなオプションを付加する。

$ pwgen -Ccns とか $ pwgen -CcnsB とか・・・

使い方は以下の通り

Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]

Options supported by pwgen:
  -c or --capitalize
Include at least one capital letter in the password
  -A or --no-capitalize
Don't include capital letters in the password
  -n or --numerals
Include at least one number in the password
  -0 or --no-numerals
Don't include numbers in the password
  -y or --symbols
Include at least one special symbol in the password
  -r <chars> or --remove-chars=<chars>
Remove characters from the set of characters to generate passwords
  -s or --secure
Generate completely random passwords
  -B or --ambiguous
Don't include ambiguous characters in the password
  -h or --help
Print a help message
  -H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
  -C
Print the generated passwords in columns
  -1
Don't print the generated passwords in columns
  -v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words

使いやすく加工

このままだと、横に8列×20行の出力で、やや使いにくい。
そこで、パイプで処理する。

$ pwgen -Ccns | tr ' ' '\n'

要は、単語区切りの空白を改行に置き換えるだけだ。
これで、横並びではなく、すべて縦に出力される。(160行)

ふつうはこんなに作り置きすることはないので、10〜20個あれば十分だ。
そこで、最初の10個を取り出す。

$ pwgen -Ccns | tr ' ' '\n' | head -n 10

y51jH7UK
uFhjUPV3
Nx59kvKW
3e6ONNy3
A8E4rh1q
UGI8kSxN
np7BB1VN
PnwqGvU4
4ub7avvT
F78PQYBW

これで、無事に目的が達成できた。
このまま、Worksheet上にコピー&ペーストすれば完了。

ファイルに落としたければ、更にリダイレクトで吐き出せば良い。

$ pwgen -Ccns | tr ' ' '\n' | head -n 10 > pass_file.txt

これで、完了。
相当よく使うなら、上記のコマンドをファイルに書いて、実行権限つけておくとか、aliasを登録しておけば楽勝です。



コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?