Turgon37.ssh_server

Ansibleロール SSHサーバー

ビルドステータス ライセンス Ansibleロール

説明

:grey_exclamation: このロールを使用する前に、私のすべてのAnsibleロールは完全に私のITインフラに合わせて書かれていることを知っておいてください。そのため、一般的に可能な限り一般的であっても、必ずしもあなたのニーズを満たすわけではありません。何をするのか注意深く分析し、あなたのサーバーに安全にインストールできるかどうか評価することをお勧めします。

このロールはSSHサーバーの設定を可能にします。

要件

Ansible >= 2.4 が必要です。

依存関係

OSファミリー

このロールはDebianとCentOSで使用できます。

特徴

現在、このロールは以下のことに使用できます:

  • sshdのインストール
  • sshdの設定
  • 弱い素数を削除するために初期モジュールをフィルタリング
  • ローカルファクト

ロール変数

オーバーライド可能なすべての変数は、defaults/main.ymlファイルと下の表に格納されています。デフォルト値を見るには、このファイルを参照してください。

ほとんどの変数は純粋なsshd設定パラメーターを指します。詳しい情報はmanページをご覧ください。

名前 種類/値 説明
ssh_server__facts ブーリアン ローカルファクトスクリプトのインストール
ssh_server__moduli_minimum 整数 モジュールファイルに保持する素数の最小サイズ
ssh_server__service_enabled ブーリアン サービスを有効にするかどうか
ssh_server__protocol 文字列 manページ参照
ssh_server__privilege_separation 文字列 manページ参照
ssh_server__pidfile 文字列 manページ参照
ssh_server__log_facility 文字列 manページ参照
ssh_server__log_level 文字列 manページ参照
ssh_server__ports 整数のリスト manページ参照
ssh_server__listen IPのリスト manページ参照
ssh_server__address_family 文字列 manページ参照
ssh_server__use_dns ブーリアン manページ参照
ssh_server__tcp_keepalive ブーリアン manページ参照
ssh_server__allow_agent_forwarding ブーリアン manページ参照
ssh_server__allow_tcp_forwarding ブーリアン manページ参照
ssh_server__permit_open 文字列 manページ参照
ssh_server__gateway_ports 文字列 manページ参照
ssh_server__allow_stream_local_forwarding ブーリアン manページ参照
ssh_server__permit_tunnel ブーリアン manページ参照
ssh_server__compression 文字列 manページ参照
ssh_server__ip_qos タプル manページ参照
ssh_server__kex_algorithms 文字列のリスト manページ参照
ssh_server__kex_algorithms_additional 文字列のリスト manページ参照
ssh_server__ciphers 文字列のリスト manページ参照
ssh_server__ciphers_additional 文字列のリスト manページ参照
ssh_server__macs 文字列のリスト manページ参照
ssh_server__macs_additional 文字列のリスト manページ参照
ssh_server__server_key_bits 整数 manページ参照
ssh_server__key_regeneration_interval 整数 manページ参照
ssh_server__authentication_methods 文字列 manページ参照
ssh_server__use_pam ブーリアン manページ参照
ssh_server__use_login ブーリアン manページ参照
ssh_server__password_authentication ブーリアン manページ参照
ssh_server__permit_empty_passwords ブーリアン manページ参照
ssh_server__challenge_response_authentication ブーリアン manページ参照
ssh_server__keyboard_interactive_authentication ブーリアン manページ参照
ssh_server__pubkey_authentication ブーリアン manページ参照
ssh_server__authorized_keys 文字列のリスト manページのAuthorizedKeysFile
ssh_server__authorized_keys_system 文字列のリスト グローバルシステムの承認されたキーのファイルパスを含む
ssh_server__authorized_keys_user 文字列 ユーザーごとの承認されたキーのファイルパスを含む
ssh_server__authorized_keys_command 文字列 manページ参照
ssh_server__authorized_keys_command_user 文字列のリスト manページ参照
ssh_server__permit_blacklisted_keys manページ参照
ssh_server__rsa_authentication ブーリアン manページ参照
ssh_server__rhosts_rsa_authentication ブーリアン manページ参照
ssh_server__host_based_authentication ブーリアン manページ参照
ssh_server__host_based_uses_name_from_packet_only ブーリアン manページ参照
ssh_server__ignore_user_known_hosts ブーリアン manページ参照
ssh_server__ignore_rhosts ブーリアン manページ参照
ssh_server__kerberos_authentication ブーリアン manページ参照
ssh_server__kerberos_get_afs_token ブーリアン manページ参照
ssh_server__kerberos_or_local_passwd ブーリアン manページ参照
ssh_server__kerberos_ticket_cleanup ブーリアン manページ参照
ssh_server__kerberos_use_kuserok ブーリアン manページ参照
ssh_server__gssapi_authentication ブーリアン manページ参照
ssh_server__gssapi_key_exchange ブーリアン manページ参照
ssh_server__gssapi_cleanup_credentials ブーリアン manページ参照
ssh_server__gssapi_strict_acceptor_check ブーリアン manページ参照
ssh_server__gssapi_store_credentials_on_rekey ブーリアン manページ参照
ssh_server__gssapi_enable_k5_users ブーリアン manページ参照
ssh_server__deny_users 文字列のリスト manページ参照
ssh_server__allow_users 文字列のリスト manページ参照
ssh_server__deny_groups 文字列のリスト manページ参照
ssh_server__allow_groups 文字列のリスト manページ参照
ssh_server__permit_root_login 文字列 manページ参照
ssh_server__login_grace_time 文字列 manページ参照
ssh_server__max_auth_tries 整数 manページ参照
ssh_server__max_sessions 整数 manページ参照
ssh_server__max_startups 特定の辞書 この辞書は「start」、「rate」、「full」というキーを持たなければなりません(manページ参照)
ssh_server__accept_env 文字列のリスト manページ参照
ssh_server__permit_user_environment ブーリアン manページ参照
ssh_server__permit_user_rc ブーリアン manページ参照
ssh_server__permit_tty ブーリアン manページ参照
ssh_server__strict_modes ブーリアン manページ参照
ssh_server__version_addendum 文字列 manページ参照
ssh_server__banner 文字列 manページ参照
ssh_server__debian_banner ブーリアン manページ参照
ssh_server__print_motd ブーリアン manページ参照
ssh_server__print_last_log ブーリアン manページ参照
ssh_server__force_command 文字列 manページ参照
ssh_server__chroot_directory 文字列 manページ参照
ssh_server__client_alive_interval 整数 manページ参照
ssh_server__client_alive_count_max 整数 manページ参照
ssh_server__x11_forwarding ブーリアン manページ参照
ssh_server__x11_display_offset 整数 manページ参照
ssh_server__x11_use_localhost ブーリアン manページ参照
ssh_server__subsystems_global/group/host 辞書 サブシステム名とサブシステムコマンドのマッピング
ssh_server__match_list_global/group/host 一致ブロックのリスト 一致ブロックを設定する(下記参照)

一致

使用可能な一致を ssh_server__match_list_global/group/host 変数を使用して設定できます。 これらの変数は辞書のリストを受け取ります。各辞書は以下の形式である必要があります。

ssh_server__match_list_global
  - match: "一致の条件"
    options:                                     # "一致" にマッチした場合に適用されるオプション
      - AllowUsers test                          # 簡単な文字列オプション
      # 現在のsshdバージョンに応じた条件付きオプションを持つ辞書
      # よりバージョン条件が高い場合、そのオプションが適用されます
      - 8.2: AuthorizedKeysCommand /bin/true     # (文字列バージョン)
        7.6:                                      # (リストバージョン)
          - AuthenticationMethods publickey
          - AllowUsers root
    state: absent               # オプションの状態(デフォルトはpresent)

使用可能な一致条件と適用可能なオプションは、現在のsshdバージョンによって異なります。

例として、sftpを実行することを許可されたグループの設定が示されています。これを有効にするには、インベントリでこのブロックを使用できます:

ssh_server__match_list_global:
  - '{{ ssh_server__match_group_sftponly }}'

ファクト

デフォルトでは、ローカルファクトがインストールされ、次の変数を公開します:

ansible_local.ssh_server:
  version_full: '7.9p1'
  version_major: '7'

プレイブック

プレイブックで以下のように使用します:

- hosts: all
  roles:
    - turgon37.ssh_server

インベントリ

このロールを使用するには、コード例に従ってプレイブックを作成または更新します:

ssh_server__allow_agent_forwarding: false
ssh_server__allow_tcp_forwarding: false
ssh_server__allow_stream_local_forwarding: false
ssh_server__permit_tunnel: false
ssh_server__compression: true

ssh_server__allow_groups:
  - ssh
  - ssh-admins
ssh_server__permit_root_login: false
ssh_server__max_startups:
  start: 5
  rate: 80
  full: 10

ssh_server__match_list_global:
  - match: "LocalAddress 127.0.0.1"
    options:
      - AuthenticationMethods publickey,password
    state: present

  - match: "LocalAddress 10.0.0.1 Group ssh-admins"
    options:
      - AuthenticationMethods publickey password gssapi-with-mic

  - match: "LocalAddress 10.0.0.1 User root"
    options:
      - DenyUsers
      - AllowUsers root
      - DenyGroups
      - AllowGroups root
      - 7.0: 'PermitRootLogin prohibit-password'
        4.9: 'PermitRootLogin without-password'
      - AuthenticationMethods publickey
      - AuthorizedKeysFile /root/.ssh/authorized_keys
      - AuthorizedKeysCommand /bin/true

ssh_client__known_hosts_additionals:
  - '[gitlab]:7999 ssh-rsa XXXXX'

FreeIPA設定の例

ssh_server__authorized_keys: '/dev/null'
ssh_server__authorized_keys_lookup: true
ssh_server__authorized_keys_lookup_command: /usr/bin/sss_ssh_authorizedkeys
ssh_server__pubkey_authentication: true
ssh_server__gssapi_authentication: true
プロジェクトについて

This role configure SSH server

インストール
ansible-galaxy install Turgon37.ssh_server
ライセンス
mit
ダウンロード
1.3k
所有者
Ingénieur, Informaticien, curieux de nouvelles technologies. Passionné par le libre et l'esprit de communauté