シナリオ:hosts
ファイルの[クライアント]セクションに基づきは、新規ユーザー
は、次のようにします。
- チェックSSHログインの場合ユーザ "foo"が失敗し、そうであれば
- authorized_keyモジュールを使用してユーザ "foo"のSSH鍵を追加
- ユーザ "foo"は既にリモートマシン上に存在し、SSH公開鍵はローカル(不可能)ホスト
私はthis solutionを知っていますが、これはAnsibleコマンドラインを使用していますが、これをプレイブックに載せることができます。 sudoを含むパスワードを入力してスクリプトをインタラクティブにすることは許容されます。
今、私は第三者の役割を使って何をしたいのか考え出したGROG.authorized-key
しかし、それでも私は-Kスイッチでプレイブックを実行する必要があります。パスワードが必要な場合にのみプロンプトを表示する、Ansible(コマンドラインスイッチの横)には何かがありますか?
- hosts: clients
vars:
authorized_key_list:
- name: pdo
authorized_keys:
- key: "{{ lookup('file', '/home/pdo/.ssh/id_rsa.pub') }}"
state: present
roles:
- { role: GROG.authorized-key }
authorized_keyにはパスワードパラメータがありません。パスワードはどのようなものに適していますか?多分私はあなたを助けることができます。 –
"authorized_key"がその仕事をすることができるように、ユーザーにパスワードを要求する必要があります。私はまた、コマンドラインパラメータとしてask-passを使用したくありません。 – Bostone
これで、ユーザーまたはsudoの権限が必要ですか? becomeおよびbecome_userオプションを試してください。 –