Truque para criar um usuário Linux restrito que eu possa controlar remotamente, não importa onde ele se conecte

3

Versão curta: Eu preciso dar ao meu filho de 4 anos um laptop para que ele possa skype comigo do outro lado do globo. A única ajuda que posso esperar de seu responsável legal é ligar o laptop nos horários designados e digitar a senha do Wi-Fi. Assim, eu preciso ser capaz de controlar o laptop remotamente (especialmente para alterar os níveis de áudio em tempo real), mas não posso pedir ao outro lado para ter um IP estático ou fazer qualquer coisa extravagante como a abertura da porta 22.

Estou pensando em usar o Ubuntu Remote Control mais um pequeno script que me envia o IP da máquina a cada X minutos. Como fazer isso? Alguma sugestão melhor?

Versão longa: Eu moro a milhares de quilômetros do meu filho de 4 anos. Sua mãe começa as conferências nos horários designados, mas depois sai do quarto e só muito raramente volta. Muitas vezes meu filho bate em alguma tecla acidentalmente e então ele para de me ver ou eu paro de ouvi-lo. Ou o ganho do microfone é muito baixo.

Então eu preciso fazer o seguinte em um laptop e enviá-lo para eles, um laptop que seria usado apenas para as telecomunicações: Criando um usuário resistente a 4 anos sem privilégios para fazer qualquer outra coisa além de olhar para a tela e falando. Eu precisaria ter acesso ao computador remotamente, para alterar os níveis de microfone e alto-falante na hora, abrir e mover janelas skype, ou até mesmo fazer tarefas mais complexas como uma atualização de software.

Minha ex-esposa nunca fará por mim uma coisa tão demorada quanto abrir a porta 22 em seu modelo de roteador particular, então o ssh está fora do menu. Com o Ubuntu, supostamente é fácil controlar remotamente outro desktop. O problema é que, a menos que tenha um IP estático, não funcionará

    
por Mephisto 27.08.2016 / 03:07

2 respostas

4

(Agora eu disse que isso era muito amplo, mas aqui está uma possível solução).

Tenha um servidor na internet (por exemplo, linode ou similar) com um endereço IP estático.

Este servidor deve ser um servidor openvpn.

O laptop da sua filha deve iniciar uma conexão openvpn para este servidor. Você pode fazer isso no momento da inicialização, antes mesmo de fazer login.

Você pode configurar o openvpn para que seu endereço IP seja sempre 192.100.100.10

Você pode ter sua sua máquina também VPN como 192.100.100.20

Agora, na sua máquina, você pode ssh 192.100.100.10 e ter acesso à linha de comando para sua máquina e alterar as configurações (patch, volume de alteração, microfone etc.).

    
por 27.08.2016 / 03:22
3

Outra solução seria usar o tunelamento SSH.

Assim como Stephen Harris, eu sou um grande fã de linode , então vamos supor que você tenha um servidor na internet com um IP público estático. (embora qualquer servidor de qualquer provedor funcione).

No servidor, você cria um par de chaves público-privado com ssh-keygen e acrescenta a chave pública ao arquivo authorized_hosts , por exemplo,

ssh-keygen -f ~/.ssh/daughters-laptop -N ""
cat ~/.ssh/daughters-laptop.pub >> ~/.ssh/authorized_hosts

Copie o privado ( ~/.ssh/daughters-laptop ) para o laptop. E garanta que o laptop realize duas coisas na inicialização:

  • Inicia sshd ( systemctl enable sshd na maioria dos sistemas atuais)

  • Executa ssh -R localhost:6667:localhost:22 -i /path/to/private/key/daughters-laptop user@server (a maioria dos sistemas permite que isso seja feito em /etc/rc.local )

Agora, para fazer login no laptop, basta fazer login no servidor e executar:

ssh -p 6667 user_at_laptop@localhost

Notas:

  • Você precisa fazer o login no laptop como o mesmo usuário da sua filha (ou ser capaz de su ), caso contrário, a loucura de permissão do Xorg garante.

  • Você pode configurar um segundo par de chaves (ou reutilizar as mesmas) para facilitar o login no laptop.

  • Proteja as chaves privadas! Você acabou de criar um backdoor em um laptop usado por seu filho, qualquer pessoa com essa chave pode fazer login nele. Uma chave produzida com -N "" está em texto não criptografado.

por 27.08.2016 / 04:42