jborean93.win_openssh
Ansible Role win_openssh
WindowsホストにWin32-OpenSSHをインストールします。
注: このロールはWin32-OpenSSH v7.7.2.0p1-Betaでテストされています。新しいバージョンでも動作するはずですが、保証はできません。
デフォルトの設定では、このロールは以下のことを行います:
- GitHubの最新リリースに基づいて、
C:\Program Files\OpenSSHにWin32-OpenSSHをインストールします。 sshdとssh-agentサービスを設定し、自動起動に設定します。domainおよびprivateネットワークプロファイルで、ポート22への受信トラフィックを許可するファイアウォールルールを作成します。- 公開鍵とパスワード認証を許可するように
sshd_configファイルを設定します。
以下の設定もロールの一部として構成できますが、一部のオプション変数を設定する必要があります:
- GitHubまたは他のURLからダウンロードする特定のバージョンを指定
- バイナリをインストールする場所を指定
- SSHサーバーサービスの設定を管理
- SSHサービスを自動起動にするかどうかを管理
- 受信SSHトラフィックを許可するファイアウォールプロファイルを定義
- ポートやその他の選択したsshd_configの値を指定
- 現在のユーザーのプロフィールに公開鍵を追加
要件
- Windows Server 2008 R2以降
変数
必須変数
なし。このロールはデフォルトのオプションで実行されます。
オプション変数
opt_openssh_architecture: Windowsアーキテクチャ、32または64のいずれかに設定する必要があります(デフォルト:64)。opt_openssh_firewall_profiles: 受信SSHトラフィックを許可するファイアウォールプロファイル(デフォルト:domain,private)。opt_openssh_install_path: OpenSSHバイナリをインストールするディレクトリ(デフォルト:C:\Program Files\OpenSSH)。opt_openssh_pubkeys: ユーザーのauthorized_keysファイルに追加するための文字列または文字列のリスト。デフォルトではキーは追加されません。opt_openssh_shared_admin_keyがTrueの場合、これらのキーはAdminユーザーの認証には影響しません。opt_openssh_setup_service: sshdサービスコンポーネントをインストールするか、クライアント実行ファイルのみにするか(デフォルト:True)。opt_openssh_skip_start:sshdおよびssh-agentサービスを起動せず、自動起動に設定しない(デフォルト:False)。opt_openssh_temp_path: ダウンロードしたzipファイルと抽出されたファイルを保存する一時ディレクトリ(デフォルト:C:\Windows\TEMP)。opt_openssh_url: OpenSSH zipのダウンロード場所を設定。省略すると、GitHubリポジトリから取得します。opt_openssh_version: GitHubからダウンロードする特定のバージョンを設定。この設定はopt_openssh_urlが設定されていない場合のみ有効です(デフォルト:latest)。opt_openssh_zip_file: OpenSSHのzipリリースファイルへのパス。この設定が定義されている場合、opt_openssh_urlの代わりに使用され、opt_openssh_zip_remote_srcでパスがコントローラーにローカルかWindowsホストにローカルかを管理します。opt_openssh_zip_remote_src: (デフォルト:False)
以下のsshd_config値もカスタマイズできます:
opt_openssh_port: SSHサービスがリッスンするポートをPortに合わせます(デフォルト:22)。opt_openssh_pubkey_auth: SSHサービスがSSHキーによる認証を許可するかどうか(デフォルト:True)。opt_openssh_password_auth: SSHサービスがパスワードによる認証を許可するかどうか(デフォルト:True)。opt_openssh_shared_admin_key: 管理者が__PROGRAMDATA__/ssh/administrators_authorized_keysにある共有認証キーを使用するためにTrueに設定します。Falseに設定すると、%USER_PROFILE%\.ssh\authorized_keysがすべてのユーザーに使用されます(デフォルト:False)。
シェルオプションをカスタマイズして、sshdサービスが新しいシェルを開始する方法を制御できます:
opt_openssh_default_shell: OpenSSHインストールで設定されたデフォルトのシェルを上書きします。SSHセッション開始時に実行したい実行可能ファイルの絶対パスを指定する必要があります。opt_openssh_default_shell_command_option: シェルを呼び出すときに使用される引数を設定します。通常の状況では調整する必要はありません。opt_openssh_default_shell_escape_args: シェルを呼び出すときの引数の自動エスケープをスキップします。opt_openssh_powershell_subsystem: powershellのリモーティング用のサブシステムを設定します。8.3フォーマットのパスが必要です:C:\PROGRA~1\POWERS~1\7\pwsh.exe(デフォルト:undefined)。
出力変数
なし
ロール依存関係
なし
例プレイブック
- name: Win32-OpenSSHをデフォルトでインストールする
hosts: windows
gather_facts: no
roles:
- jborean93.win_openssh
- name: 特定のバージョンのWin32-OpenSSHをカスタムフォルダにインストールする
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_install_path: C:\OpenSSH
opt_openssh_version: v7.7.2.0p1-Beta
- name: Win32-OpenSSHのクライアントコンポーネントのみをインストールする
hosts: windows
gather_facts: no
roles:
- role: jborean93.win_openssh
opt_openssh_setup_service: False
テスト
このロールをテストするには、testsフォルダに移動し、vagrant upを実行します。これにより、テストを実行するためのWindows Server 2019ホストが立ち上がります。ホストがすでにオンラインの場合、vagrant provisionを実行すると再度テストが実行されます。
バックログ
なし - 機能リクエストは歓迎します
