En mi máquina estoy usando OpenVPN que usa la interfaz tun0. Quiero que sshd escuche solo en esta interfaz.
Lo sé, puedo especificar la dirección IP para escuchar
/etc/ssh/sshd_config
con un
ListenAddress 0.0.0.0
directiva. Pero mi dirección IP cambiará, por lo que no puedo elegir una IP aquí que siempre sea válida. Sé que puedo iniciar el demonio solo cuando la VPN está activa, ese no es el problema.
¿Cómo puedo hacer que sshd solo escuche en una interfaz específica (tun0)?
tun0
?Respuestas:
No puede hacerlo directamente ya que sshd solo comprende las direcciones IP. Es posible que puedas juntar algo usando un script openvpn up
Consulte también la
--down
opción de limpieza y las partes relevantes de la documentación que detalla la seguridad del script, etc.Encontrará que la dirección IP del dispositivo tun se pasa al script como una variable de entorno. También sshd toma opciones en la línea de comando del formulario
-o opción Se puede usar para dar opciones en el formato utilizado en el archivo de configuración. Esto es útil para especificar opciones para las cuales no hay un indicador de línea de comando separado. Para obtener detalles completos de las opciones y sus valores, consulte sshd_config (5)
Entonces podrías usar
Presumiblemente, tiene algún método fuera de banda para hablar con su VPS para que cuando esto se rompa pueda contactar al servidor.
fuente
-o ListenAddress=$(ip addr | awk '/inet/ && /tun0/{sub(/\/.*$/,"",$2); print $2}')