Skip to content

2022/03

AWS Workspaces 上の Amazon Linux2 に RDP クライアントをインストールする

AWS Workspaces で Windows 以外にも Amazon Linux2 のバンドルを利用することが出来ます。 この Amazon Linux2 に限った話ではありませんが、Linux 上から Windows へ RDP したい場合には remmina という RDP クライアントを利用することが出来ます。 Amazon Linux2 の場合、以下を実行することで remmina をインストールすることが出来ます。

resopnder で「 'typesystem' has no attribute 'SchemaDefinitions'」エラーを回避する

responder でアプリケーションを書いても AttributeError: module 'typesystem' has no attribute 'SchemaDefinitions' というエラーになる場合があります。 例えば以下のように pip で gunicorn や responder をインストールせずにインストールし、アプリケーションを実行した場合にエラーになるかも知れません。

Python の venv 環境を direnv で自動的に有効/無効化する

Python で venv 環境を作成した際、該当ディレクトリに移動する毎に source venv/bin/activate する必要があります。 direnv を使うことでこれを自動化することが出来ます。 direnv は現時点で Release v2.31.0 が最新ですがバイナリが登録されていない為、今回は Release v2.30.3 を利用します。 尚、今回は Ubuntu 20.04LTS 上でテストしました。

batfish でダミーホストを利用する

batfish でルーティングや ACL のテストを実施する際、ルータやファイアウォールとは別にダミーのホストを利用したい場合があります。 こういった場合は .json ファイルを用意することで簡単にダミーホストを用意出来ます。 Modeling hosts に .json ファイルのフォーマットが書かれています。

pybatfish で対象コンフィグが更新されている場合のみ、スナップショットを再作成する

batfish に同梱されているサンプルスクリプトや、インターネット上で見かけるスクリプト例は「スナップショットの有無に関わらず、スナップショットを生成する」ものが多いと思います ("例" なので、そういうものなのだと思います)。 仮に何度もスクリプトを実行し直す場合は、「コンフィグに変化が無いのであれば、毎回のスナップショット再作成は不要」という場合もあると思います。 そういった場合の実装例をメモしておきます。

例として Question には ipOwners を利用していますが、どの Question を利用してもスナップショット初期化部分の考え方は同じです。

OpenSSH 7.8 以降はデフォルトの鍵形式が OPENSSH 形式へ変更されている

OpenSSH はバージョン 7.8 からデフォルトの鍵フォーマットが PEM 形式から OPENSSH 形式へ変更されています。 バージョン 7.8 のリリースノート には下記の記載があります。

  • ssh-keygen(1): write OpenSSH format private keys by default instead of using OpenSSL's PEM format. The OpenSSH format, supported in OpenSSH releases since 2014 and described in the PROTOCOL.key file in the source distribution, offers substantially better protection against offline password guessing and supports key comments in private keys. If necessary, it is possible to write old PEM-style keys by adding "-m PEM" to ssh-keygen's arguments when generating or updating a key.

Ubuntu 20.04LTS 上で実際に鍵ペアを作成して鍵フォーマットを確認してみたのでメモしておきます。 OpenSSH は下記の通り、バージョン 8.2 を利用しました。