Estou executando um servidor Ubuntu 14.04.1 sem cabeçalho. Eu gostaria de usar um serviço de VPN comercial para proteger a conexão de internet do servidor, e meu provedor de VPN usa senhas para autenticação. Instalei openvpn
no servidor e ele tem os arquivos .ca
, .conf
necessários para iniciar uma conexão com minha VPN.
No entanto, para iniciar essa conexão, preciso ssh
in e emitir os comandos ( sudo openvpn --config <conf-file>
seguido por minhas credenciais de VPN) e manter meu terminal aberto por quanto tempo eu quiser que o servidor permaneça conectado ao VPN.
Isso é impraticável em um ambiente sem cabeça. Eu tenho tentado emitir o comando remotamente de tal forma que ele possa ser executado em segundo plano enquanto eu me desconecto do servidor, mas estou enfrentando os seguintes problemas:
- Eu poderia configurar o servidor para se conectar automaticamente na inicialização, mas isso exigiria armazenar minhas credenciais de VPN em texto sem formatação, o que eu sou contra.
- Não consigo executar um único comando
ssh
como root
(sem me conectar ao servidor como root
, mas não estou certo de que definir uma senha para root
seja uma boa ideia. Opiniões? ). Ou seja, se eu enviar ssh <user>@<server> "sudo <command>"
recebo
sudo: no tty present e nenhum programa askpass especificado
- Qualquer combinação dos sinalizadores
fN
que eu tento passar para ssh
resulta no comando indo para o segundo plano antes que eu seja solicitado pelas minhas credenciais de VPN.
Por favor, não hesite em oferecer um caminho diferente de iniciar a conexão, mesmo se você acha que essas idéias são inviáveis. No entanto, observe que o servidor não tem uma GUI instalada, portanto, qualquer ideia que não seja adequada (por exemplo, eu adoraria usar
nmcli
para iniciar minha VPN, mas não posso criar uma
network-manager
de conexão sem GUI, ou pelo menos eu não sei como).
(PS Tentei encontrar uma solução on-line, mas há muitos resultados lidando com a configuração de uma conexão do OpenVPN para o servidor, e se algo relevante estiver escondido entre eles, não consegui encontrar isso.)