Authorized Key
Resumo
Adiciona ou remove chaves autorizadas SSH para contas de usuário específicas.
Parâmetros
Parâmetro | Tipo | Escolhas | Valores padrão | Comentários |
|---|---|---|---|
comment | string | | Altere o comentário na chave pública. Reescrever o comentário é útil em casos como buscá-lo no GitHub ou no GitLab. Se nenhum comentário for especificado, o comentário existente será mantido. |
exclusive | boolean | Escolhas: - false (default) - true | Se todas as outras chaves não especificadas devem ser removidas do arquivo authorized_keys. Várias chaves podem ser especificadas em um único valor de string (chave) separando-as por novas linhas. Esta opção não reconhece o loop, portanto, se você usar (with_) , será exclusivo por iteração do loop. Se você quiser várias chaves no arquivo, precisará passá-las todas para (key) em um único lote, conforme mencionado acima. |
follow | boolean | Escolhas: - false (default) - true | Se deve seguir o symlink do caminho em vez de substituí-lo. |
key - required | string | | A(s) chave(s) pública(s) SSH, como uma string ou url (https://.com/username.keys). |
key_options | string | | Uma sequência de opções de chave ssh a serem anexadas à chave no arquivo authorized_keys. |
manage_dir | boolean | Escolhas: - false - true (default) | Se este módulo deve gerenciar o diretório do arquivo de chave autorizado. Se definido como (true), o módulo criará o diretório, bem como definirá o proprietário e as permissões de um diretório existente. Certifique-se de definir (manage_dir=false) se estiver usando um diretório alternativo para as chaves_autorizadas, conforme definido com (path), pois você pode bloquear o acesso SSH. |
path | path | | Caminho alternativo para o arquivo authorized_keys. Quando não definido, esse valor é padronizado para (~/.ssh/authorized_keys). |
state | string | Escolhas: - absent - present (default) | Se a chave fornecida (com as key_options fornecidas) deve ou não estar no arquivo. |
validate_certs | boolean | Escolhas: - false - true (default) | Isso só se aplica se estiver usando um URL https como a origem das chaves. Se definido como (false), os certificados SSL não serão validados. Isso só deve ser definido como (false) usado em sites controlados pessoalmente usando certificados autoassinados, pois evita a verificação do site de origem. |
user - required | string | | Nome de usuário no host remoto cujo arquivo authorized_keys será modificado. |
Exemplos
# Exemplo: Definir chave autorizada retirada do arquivo
- authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
# Exemplo: Definir chaves autorizadas retiradas do URL
- authorized_key:
user: charlie
state: present
key: https://github.com/charlie.keys
# Exemplo: Defina as chaves autorizadas retiradas do URL usando a pesquisa
- authorized_key:
user: charlie
state: present
key: "{{ lookup('url', 'https://github.com/charlie.keys', split_lines=False) }}"
# Exemplo: Definir chave autorizada em local alternativo
- authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
path: /etc/ssh/authorized_keys/charlie
manage_dir: False
# Exemplo: Configurar várias chaves autorizadas
- authorized_key:
user: deploy
state: present
key: '{{ item }}'
with_file:
- public_keys/doe-jane
- public_keys/doe-john
# Exemplo: Definir opções de chave de definição de chave autorizada
- authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
key_options: 'no-port-forwarding,from="10.0.1.1"'
# Exemplo: Definir a chave autorizada sem validar os certificados TLS/SSL
- authorized_key:
user: charlie
state: present
key: https://github.com/user.keys
validate_certs: False
# Exemplo: Definir chave autorizada, removendo todas as chaves autorizadas já definidas
- authorized_key:
user: root
key: "{{ lookup('file', 'public_keys/doe-jane') }}"
state: present
exclusive: True
# Exemplo: Defina a chave autorizada para o usuário ubuntu copiando-a do usuário atual
- authorized_key:
user: ubuntu
state: present
key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
exclusive | boolean | Sucesso | Se a chave foi forçada a ser exclusiva ou não. |
key | string | Sucesso | A chave com a qual o módulo estava sendo executado. |
key_option | string | Sucesso | Opções de chave relacionadas à chave. |
keyfile | string | Sucesso | Caminho para o arquivo de chave autorizado. |
manage_dir | boolean | Sucesso | Se este módulo gerenciou o diretório do arquivo de chave autorizado. |
path | string | Sucesso | Caminho alternativo para o arquivo authorized_keys. |
state | string | Sucesso | Se a chave fornecida (com a key_options fornecida) deve ou não estar no arquivo. |
unique | boolean | Sucesso | Se a chave é única. |
user | string | Sucesso | O nome de usuário no host remoto cujo arquivo authorized_keys será modificado. |
validate_certs | boolean | Sucesso | Isso só se aplica se estiver usando um URL https como a origem das chaves. Se definido como C(no), os certificados SSL não serão validados. |