Verejný server bez verejnej IP
ssh-keygen
(viac informácií v manuáli alebo google, dodáva sa v balíku spolu s SSH klientom).Vytvorenie tunelu je jednoduché:
ssh -R *:2222:127.0.0.1:22 -f -g -n -N user@server.tld -o PreferredAuthentications=publickeyTento príkaz spôsobí, že sa všetky požiadavky na port 2222 verejného serveru presmerujú na port 22 nášho serveru (22 býva obyčajne SSH daemon).
user@server.tld
je náš obyčajný login do shell konta. Nie všetky parametre sú nutné, takto to používam ja. Pre podrobnejšie informácie odporúčam konzultovať manuál (man ssh
).Ešte je vhodné na serveri nastaviť v
/etc/ssh/sshd_config
:
GatewayPorts yesVysvetlenie priamo z manuálu (
sshd_config(5)
):GatewayPorts Specifies whether remote hosts are allowed to connect to ports forwarded for the client. By default, sshd binds remote port forwardings to the loopback address. This prevents other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify that sshd should allow remote port forwardings to bind to non-loopback addresses, thus allowing other hosts to con‐ nect. The argument may be “no” to force remote port forwardings to be available to the local host only, “yes” to force remote port forwardings to bind to the wildcard address, or “clientspecified” to allow the client to select the address to which the forwarding is bound. The default is “no”.
Jednoducho by sa na ten port bolo možné dostať iba z toho serveru. Keďže už tam máme shell konto, tak by nemal byť problem tam pristupovať cez neho, ale takto je to pohodlnejšie a prístupnejšie. Po zmene tohoto nastavenia je potrebné SSH daemon reštartovať.
Nakoniec len dodám, že takéto niečo sa dá spraviť aj cez server, na ktorom beží Windows pomocou CopSSH (samostatná inštalácia Cygwin OpenSSH) alebo samotného Cygwin v ktorom sa OpenSSH dá nainštalovať.
História úprav
Autor | Dátum |
---|---|
reload | 27.07.2008 | 16:15 |
uid0 | 30.01.2007 | 20:14 |