Faça o sshd ouvir uma interface específica

15

Na minha máquina, estou usando o OpenVPN, que usa a interface tun0. Eu quero que o sshd ouça apenas nesta interface.

Eu sei, posso especificar o endereço IP para ouvir em

/etc/ssh/sshd_config

com um

ListenAddress 0.0.0.0

diretiva. Mas meu endereço IP vai mudar, então não posso escolher um IP aqui que seja sempre válido. Eu sei que posso iniciar o daemon somente quando a VPN estiver ativa - esse não é o problema.

Como posso fazer o sshd apenas escutar em uma interface específica (tun0)?

    
por Philipp 16.06.2014 / 14:32

1 resposta

6

Você não pode fazer isso diretamente, pois o sshd só entende endereços IP. Você pode ser capaz de bater alguma coisa usando um script openvpn up

-up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel...

Veja também a opção --down para limpar e as partes relevantes da documentação detalhando a segurança do script, etc.

Você encontrará o endereço IP do dispositivo tun passado para o script como uma variável de ambiente. Também sshd pega opções na linha de comando do formulário

-oSomeOption=SomeValue

opção -o              Pode ser usado para dar opções no formato usado no              arquivo de configuração. Isso é útil para especificar opções para              qual não há sinalizador de linha de comando separado. Para detalhes completos              das opções e seus valores, veja sshd_config (5)

Então você poderia usar

-o ListenAddress=<some address>

Provavelmente você tem algum método fora de banda de falar com seu VPS para que, quando isso quebrar, você possa contatar o servidor.

    
por 16.06.2014 / 15:00