Kod openssh uobičajeni setup kod pristupanja servera koji su iza firewalla mi je da koristi ssh od nekog servera koji je javno dostupan da se tunelišem ka mašini u internoj mreži.
To može da se izvede na dosta načina, ali meni omiljeni, i ujedno najpraktičniji je korišćenjem openssh opencije ProxyCommand
Primer ~/.ssh/config
Host javni-host Hostname javni.neki.tamo Port 99999 Host interni-host Hostname 192.168.x.y ProxyCommand ssh -q javni-host nc -q0 %h %p
I ovo fenomenalno funkcioniše jer potom ssh/scp ka interni-host potpuno transparentno funkcionišu.
Probelm, za neke (legacy) sisteme potreban mi je putty zbog terminal emulacije. Gledajući po opcijama ne izgleda baš očigledno ali ipak postoji potpuno identična opcija.
Host/Port/Protocol podesiti kao da smo u internoj mreži. A u Connection > Proxy>
Proxy type: Local
Telnet command or local proxy command:
SSH_ASKPASS=/usr/bin/qt4-ssh-askpass ssh -q javni-host nc -q0 %host %port
Može i bez SSH_ASKPASS, ali onda putty mora uvek da se otvara iz terminala.
Efekat je potpuno identičan kao sa openssh.