O uso de "askpass" sem argumentos deve funcionar.
Eu tenho uma configuração de cliente do OpenVPN que usa uma chave privada protegida por senha.
Se eu executar openvpn
diretamente, será solicitada a frase secreta e o cliente será iniciado com êxito.
Mas se eu começar com systemctl
, não será solicitado pela frase-senha e o serviço nunca terminará de ser inicializado.
Parece que systemd-ask-password
está aguardando a frase secreta, mas nenhum prompt é exibido.
$ sudo systemctl start openvpn-myclient.service
$ systemctl status openvpn-myclient.service
● openvpn-myclient.service - OpenVPN instance ‘myclient’
...
Status: "Pre-connection initialization successful"
...
CGroup: /system.slice/openvpn-myclient.service
├─18997 openvpn --suppress-timestamps --config /path/to/client.conf
└─18998 /path/to/systemd-ask-password --icon network-vpn Enter Private Key Password:
Eu posso criar manualmente uma solicitação para enviar a frase secreta:
$ sudo systemd-tty-ask-password-agent --query
Enter Private Key Password: ************************
Eu também posso contornar o problema colocando askpass /path/to/passphrase
no meu client.conf. Isso evita a necessidade de entrada do usuário, mas também significa manter a senha em texto puro.
Eu gostaria de entender o que está acontecendo, o que eu poderia fazer para obter uma notificação ou como posso evitar colocar a frase secreta em texto não criptografado.
Como posso depurar isso mais? Eu li as man pages seguintes e ainda não está claro para mim o que está em jogo.
systemd-ask-password
systemd-tty-ask-password-agent
systemd-ask-password-wall.service
O uso de "askpass" sem argumentos deve funcionar.