Encaminhamento de porta SSH

0

Eu tenho uma máquina servidora (A) que tem o ssh instalado, junto com um servidor web.

Como faço para encaminhar a porta com o servidor da web para minha máquina local (B).

Eu deveria poder navegar para http://localhost:forwardedport

Esta porta LOCAL ou REMOTE está em funcionamento? Aqui está o que eu tentei.

ssh -L 8888:name.dnydns-server.com:8888 localhost

ssh -L 8888:localhost:8888 name.dnydns-server.com

and both of those with [email protected]

O que estou fazendo de errado?

EDIT : As respostas dadas foram factualmente corretas e explicaram o uso do encaminhamento de porta. Descobri que eu estava usando o comando correto, mas havia uma regra de firewall que me impedia de me conectar à porta 8888 do próprio servidor. Eu percebi isso quando tentei me conectar ao site enquanto fazia o ssh no servidor remoto.

    
por Daisetsu 29.10.2013 / 20:02

2 respostas

4

Eu acho que você primeiro precisa esclarecer alguns termos que eu usarei:

Cliente significa a máquina onde você inicia o ssh. Esta máquina é referida por "local".

Servidor significa a máquina à qual você deseja se conectar com o ssh. Esta máquina é referida por "remoto".

Encaminhamento de porta local com ssh significa que você se conecta do seu cliente ao servidor e, assim, abre um encapsulamento para que outro programa em seu cliente possa se conectar através de uma porta local a um host & porta no servidor local. A opção para isso é -L local_port: remote_machine: remote_port.

O encaminhamento remoto de portas com ssh significa que você se conecta de seu cliente ao servidor e, assim, abre um túnel para que um programa em seu servidor possa se conectar através de uma porta no servidor a um host & porta o site do cliente. A opção para isto é -R remote_port: local_machine: local_port.

Se eu entendi corretamente, você deseja um encaminhamento local, por exemplo crie uma conexão com seu servidor name.dnydns-server.com e, em seguida, conecte-se com o seu navegador local à porta 8888 em name.dnydns-server.com.

O seguinte comando da sua lista deve fazer o que você deseja:

ssh -L 8888:localhost:8888 name.dnydns-server.com

O primeiro 8888 é a porta em seu cliente que seu programa adicional (navegador) pode conectar.

O "localhost" nessa linha é visto a partir do final do túnel, que está no servidor (name.dnydns-server.com). Há localhost é a própria máquina, então é o que você quer. (Você poderia colocar um nome diferente na rede do seu servidor para acessar isso)

O segundo 8888 é a porta à qual você deseja se conectar no site do servidor. Se você executar o seu servidor na porta padrão 80, você terá que mudar isso para 80.

name.dnydns-server.com é o nome do seu servidor ssh ao qual você se conecta, que é o ponto final do túnel.

Eu não sei porque esta linha não funcionou para você embora. Você saiu do ssh? Tem que ficar ligado o tempo todo para o túnel funcionar. Porta padrão no servidor da web? Webserver não está funcionando?

Editar: Eu mudei a definição de "cliente" e "servidor" para esclarecer as coisas, então alguns dos comentários não se aplicam mais e se referem ao conteúdo excluído.

    
por 29.10.2013 / 21:12
3

Estou presumindo que o servidor tenha sshd instalado e escutando a porta padrão bem conhecida (22), e que o servidor web esteja escutando na porta padrão (80) conhecida. A suposição é que o servidor é o servidor (A) é o 'canal' através do qual você deseja fazer o encapsulamento para chegar ao servidor web. Aqui está o que você precisa dizer 'ssh' neste caso:

ssh -L <local port to point your browser toward>:<host name or IP of the web server>:<port that the web server is listening on> <valid user on server>@<server name or ip address>

Então, aqui está o que eu acho que deve ser parecido com o que eu acho que você está tentando fazer:

ssh -L 8888:web.server.dyndns-server.com:80 youruserid@yourserver

Faça isso e aponte seu navegador para localhost: 8888.

    
por 29.10.2013 / 21:22