SSH tunneling is a method of transporting arbitrary network data over an encrypted SSH connection. It can be used to add encryption to legacy applications. It can also be used to implement VPNs (virtual private networks) and access intranet services through firewalls.
Introduction
Port forwarding through SSH creates a secure connection between the local computer and the remote machine through which services can be transferred. Because the connection is encrypted, SSH tunneling is useful for transmitting information that uses an unencrypted protocol, such as IMAP, VNC, or IRC.
SSH- Windows 22, , (, ), VPN. IPsec , .
SSH . , TCP/IP SSH. , SSH-, , . SSH- , .
SSH SSH-. SSH- , .
SSH . , SSH. SSH . — , SSH. , .
— ?
, . , (, IPv6 IPv4).
, . , , . , , , , , .
Secure Shell —
Secure Shell , SSH. SSH . , Microsoft Windows (SMB), .
Microsoft Windows , -, , . Windows, SSH, SMB- . SMB , SSH-, , .
— , SSH. SSH - . , .
SSH:
— SSH- SSH-, ;
— SSH- SSH-, ;
— SSH-, SSH- , , .
, , , "".
. SSH- .
. , . , , .
, , . . , . , - SOCKS. , , , , SSH , .
, — . , , . , , vk.com . , , , , : $ ssh -L 9000: vk.com: 80 user@example.com.
-L, , . , 9000 vk.com:80, HTTP. http://localhost: 9000.
SSH- , . , — SSH- .
: , , .
, . , PostgreSQL , 5432: $ ssh -L 9000: localhost: 5432 user@example.com.
, , - localhost: 5432, 9000 localhost: 5432 . : $ psql -h localhost -p 9000.
. , Rails , . , - IP-, .
, NAT ( ) , , , . , .
, , SSH. , . SSH-, :
$ ssh-R 9000: localhost: 3000 user@example.com
, -L -R. , , .
, , , . - , . , . , , .
PHP SSH- .
SSH- , . . , SOX, HIPAA, PCI-DSS , .
, , , . , , , , . , SSH- putty, . , .
, , SSH-. , - . SSH- . . , , .
SSH- .
SSH- (, Amazon AWS). , SSH . SSH- Linux, , . SSH- , TCP- SSH- . SSH , . .