Como iniciar e usar o ssh-agent como serviço systemd?

8
  1. Como iniciar o ssh-agent como serviço systemd ? Existem algumas sugestões na net, mas elas não estão completas.

  2. Como adicionar automaticamente chaves não criptografadas se o serviço ssh-agent foi iniciado com êxito? Provavelmente, adicionar chaves da lista de ~/.ssh/.session-keys seria bom.

  3. Como definir SSH_AUTH_SOCK em qualquer sessão de login depois? A maneira mais correta é empurrá-lo do serviço ssh-agent para o serviço systemd-logind (não faz ideia se é possível). A maneira simples e ingênua é apenas adicioná-lo a /etc/profile .

por midenok 24.01.2017 / 19:42

1 resposta

12

Para criar um serviço systemd ssh-agent, você precisa criar um arquivo em ~/.config/systemd/user/ssh-agent.service porque ssh-agent é usuário isolado.

[Unit]
Description=SSH key agent

[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK

[Install]
WantedBy=default.target

Adicione SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket" a ~/.pam_environment .

Por fim, ative e inicie este serviço.

systemctl --user enable ssh-agent
systemctl --user start ssh-agent

E, se você estiver usando uma versão ssh maior que 7.2. echo 'AddKeysToAgent yes' >> ~/.ssh/config

Isso instruirá o cliente ssh a sempre adicionar a chave a um agente em execução, portanto, não há necessidade de adicioná-lo de antemão.

    
por 06.09.2017 / 09:02