Eu desenhei alguns esboços
A máquina em que o comando ssh tunnel é digitado chama-se »seu host« .

Introdução
-
local:
-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.ssh -L sourcePort:forwardToHost:onPort connectToHostsignifica: conecte-se com ssh aconnectToHoste encaminhe todas as tentativas de conexão para o localsourcePortpara a portaonPortna máquina chamadaforwardToHost, que pode ser alcançado a partir da máquinaconnectToHost. -
remoto:
-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.ssh -R sourcePort:forwardToHost:onPort connectToHostsignifica: conecte-se com ssh aconnectToHoste encaminhe todas as tentativas de conexão para o remotosourcePortpara a portaonPortna máquina chamadaforwardToHost, que pode ser alcançado a partir de sua máquina local.
Seu exemplo
Você quer se conectar a um servidor remoto através da máquina EC2, certo? Então a segunda imagem representa seu cenário. O remotehost é sua máquina EC2. O farawayhost é seu servidor remoto com sua porta rosa de interesse (na porta de desenho 456 , mas no seu caso, porta 22 ). Então o comando tem que ficar assim:
ssh -L 22528:REMOTE-IP:22 EC2-MACHINE-IP
O número da porta da porta verde é 22528 . Agora você pode acessar seu servidor remoto com ssh via
ssh -p 22528 localhost