Я бы хотел, чтобы git-демон прошел через постоянный ssh-туннель. Я выполнил эту задачу. Как заблокировать любое удаленное ненумерованное соединение с портом GIT_DAEMON (в моем случае 9418)?
Я уже пробовал простые правила в iptables (блокируйте все, кроме localhost):
$ iptables -A INPUT -p tcp -d ! localhost --destination-port 9418 -j DROP
Но он также блокирует туннель (так как сохраняет IP-адрес источника). Если у меня есть еще один хост для брандмауэра, это можно сделать, просто заблокировав любое удаленное подключение к этому порту, но мне нужен этот хост для этой работы.
Туннель создается одним из двух способов:
Для Windows:
plink.exe -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69
Для Linux:
ssh -N -i <key> -L 127.0.0.1:9418:192.168.1.69:9418 tunnel@192.168.1.69