Portál AbcLinuxu, 8. května 2025 04:30
Řešení dotazu:
/usr/bin/ssh -n -f -N -T -R 1234:localhost:22 root@remoteTohle se pusti na boxu uvnir. Na vzdalenem serveru vytvori reverzni tunel na localhostu a portu 1234. Akorat jsem ho nedonutil, aby byl permanentni.
ps axu | grep -q [c]c.nsa.gov || ssh -N -R 0.0.0.0:1234:localhost:22 root@cc.nsa.gova vrazím ho do cronu. Pokud ssh neběží, pokusí se ho to navázat znova. Blbý by bylo, kdyby to natrvalo vytuhlo (ssh je spuštěné, ale neforwarduje data), ale to se mi ještě nestalo. Akorát občas při divných síťových podmínkách spadne klient, ale na serveru to zůstane viset až do timeoutu, pak se klient znova připojí, ale port už je obsazený. Pomůže ručně killnout proces klienta na serveru. Mám na to dokonce oneliner :)
kill `ps axu |grep ssh|grep janhrach|grep notty|tr -s " " | cut -d " " -f 2`Ty nuly u parametru -R sshčka udělají, že se na to dá připojit i zvenku. U opensshd je potřeba mít zapnuté
GatewayPorts clientspecified
v konfiguráku.
PermitOpen localhost:2254nebo natáhnout do netfilteru iptables owner a
:LOGGING - [0:0] -A OUTPUT -d 127.0.0.1/32 -p tcp -m owner --uid-owner 1022 -j ACCEPT -A OUTPUT -m owner --uid-owner 1022 -j LOGGING -A LOGGING -m limit --limit 5/min -j LOG --log-prefix "NSA dropped packet: " -A LOGGING -j DROP
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.