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
を実行すると再度テストが実行されます。
バックログ
なし - 機能リクエストは歓迎します