l3d.sshd
OpenSSHサーバー
OpenSSHサーバー「SSHD」を設定するためのAnsibleロールです。 このロールの主な目的は、sshd.confファイルを管理することです。また、設定されたパスに定義されたSSHホストキーをデプロイするなどの追加機能も含まれています。
プロのヒント
SSHキーには楕円曲線暗号を使用してください:
ssh-keygen -t ed25519
このロールのデフォルト値はed25519キーのみを許可しますが、お好みで変更できます。
使用目的
このロールは、次のロールを持つLinuxホストを管理するために設計されています。このロールは基本的に良好なsshdの設定に焦点を当て、SSHで接続できるユーザーや許可されたSSHキーのタイプを定義できます。 他のロールはSSH公開鍵を配布したり、ユーザーを作成してsudo権限を設定したり、ドットファイルを展開したり、有用なパッケージをインストールしたりします。
Linuxホストを管理するための推奨ロールのリスト:
- do1jlr.base 有用なパッケージをインストール
- do1jlr.users ユーザーを作成し、sudo者を管理
- do1jlr.auth SSH公開鍵をデプロイ
- do1jlr.sshd (こちらです)
- do1jlr.dotfiles ファンシーなドットファイルをデプロイ
知っておくと良いこと:
リストされたロールは、アカウントや管理者を作成するために同じ変数を使用します。しかし、正しい順序でロールを実行しなければなりません。 たとえば、作成されていないユーザーに対してSSH公開鍵を展開することはできません。
変数の説明
覚えておいてください: すべての可能な変数については、「defaults/main.yml」を確認してください。
SSHポート
OpenSSHポートは「sshd__port: 22」変数で定義されています。必要に応じて変更できます。許可されたユーザーとグループ
ログインを許可されているデフォルトのユーザーは「users: {}」リストから来ています。
同じ「users: {}」変数は、他の推奨SSHロールでも使用されています。
例として「l3d」と「ottojo」というユーザーとグループのログインを許可する方法は次の通りです:
users:
l3d:
- l3d
ottojo:
- ottojo@uni
- ottojo@home
パスワードによるSSHログイン
SSHパスワード認証は「sshd__password_authentication: false」に設定されており、これによりパスワードを使用してSSHでログインすることはできません。SSHキータイプの管理
このロールは、ログインを許可されるSSHキータイプを構成します。これを定義したくない場合は「sshd__manage_key_types: true」変数を変更します。許可されたSSHキータイプの定義
許可されたSSHキータイプはこのリストで定義されており、一部はコメントアウトされています。
デフォルトでは「ed25519」キーのみが許可されていることに注意してください。RSAキーを使用する場合は注意してください。
sshd__key_types:
- 'ed25519'
# - 'rsa'
# - 'ecdsa'
# - 'dsa' # (使用しないでください!)
高度なSSHアルゴリズム設定
ここで使用するキーおよびKexアルゴリズムを定義できます。デフォルト値やいくつかの変数の例については「defaults/main.yml」で確認してください。 これを無効にするには「sshd__manage_key_algorithmus」と「sshd__manage_kex_algorithmus」を「false」に設定します。新しいSSH機能の強制
SSHバージョンが「>8」であることがわかっている場合は、「true/false」で「sshd__version_is_above_eight」変数を使用してオプションで定義できます。
ファイル
このロールの主なタスクは「sshd.conf」ファイルを設定することです。
参考
テスト
このロールは、いくつかのリンティングテストでテストされています。残念ながら、systemdが関与しているため、このロールをDockerコンテナで実行する方法がわかりません...テストを改善するアイデアがあれば、メッセージを送信するか、問題をオープンするか、プルリクエストを送信してください。 テストの詳細については、GitHubマーケットプレイスをご覧ください。
テスト状況 | GitHubマーケットプレイス |
---|---|
ansibleロールをgalaxyに公開 | |
yamllint-github-action | |
ansible-lintアクション |
Manage your SSH Server - and deploy a good sshd configuration
ansible-galaxy install l3d.sshd