PC - pracovní stanice
HTTP Proxy - Proxy server umožňující připojení do internetu. Umožňuje pouze připojování na vzdálené porty 80 a 443 pouze prostřednictvím protokolu HTTP na vybrané webové stránky.
ssh server- počítač umístění v internetu s veřejnou IP adresou na němž je nainstalovaný SSH server.
Cílem je umožnit pracovní stanici připojit se do internetu i způsobem, který proxy neumožňuje (na proxy nepovolené protokoly, webové stránky,...).
Nutné podmínky docílení kýženého stavu:
- pravidla proxy musí umožňovat přístup na IP adresu či DNS ssh serveru (zde prodejna.biz).
- ssh server na počítači prodejna.biz musí být možné nainstalovat na portu, který je povolen na HTTP proxy (v tomto případě 80 nebo 443).
- na ssh serveru máme vytvořen účet sshaccount.
- HTTP proxy běží na httpproxy.cz a portu 8080
- K HTTP proxy je třeba autentizace, která je uložená v souboru auth
- SSH server je dostupný na portu 443
- Na pracovní stanici neběží nic na portu 8080
Následující příkaz spustí na lokálním počítači server SOCKS5 na portu 8080 (parametr -D):
ssh -ND 8080 sshaccount@prodejna.biz -o "ProxyCommand corkscrew httpproxy.cz 8080 prodejna.biz 443 auth"
V prohlížeči je pak třeba nastavit proxy takto:
Od této chvíle budou všechny požadavky směrovány SSH tunelem skrz HTTP Proxy na prodejna.biz.
Aby nebylo nutné psát takto dlouhý příkaz můžeme do souboru ~/.ssh/config umístit následující dva řádky:
Host prodejna.biz
ProxyCommand corkscrew httpproxy.cz 8080 prodejna.biz 443 ~/auth
a následně použít zjednodušený příkaz:
ssh -ND 8080 sshaccount@prodejna.biz
Nebo si jednoduše namapovat vzdálený disk k lokálnímu adresáři:
sshfs sshaccount@prodejna.biz: ~/remote
kde adresář ~/remote musí před voláním příkazu již existovat.