SSH do cliente para o Linux incorporado através do servidor

3

Eu quero poder me conectar diretamente de qualquer lugar a um Linux incorporado (chamado C) que não tenha um endereço IP público.

C pode configurar uma conexão com o servidor (com SSH-R), e se eu for SSH no servidor, eu posso então usar o SSH no linux embutido.

No entanto, eu gostaria de poder usar o SSH do cliente para o C sem precisar primeiro do SSH no servidor. (Não consigo configurar uma conexão com o SSH-R de C para o cliente)

Isso é possível, se sim, como?

    
por V. Carrein 25.05.2017 / 16:55

2 respostas

0

Você pode fazer isso com bastante facilidade. Uma maneira é usar o encaminhamento de porta remota do SSH, pelo qual C está dizendo ao servidor para encaminhar uma porta de volta para ele, algo como:

ssh -R 2222:localhost:22 server

Este comando, quando executado a partir de C, dirá ao servidor para fazer qualquer conexão à porta 2222 e encaminhá-los para o C na porta 22.

Da mesma forma, você pode configurar o encaminhamento de porta no servidor por meio de regras de firewall.

    
por 25.05.2017 / 17:24
0

Se você quiser se conectar à porta encaminhada, precisa de quatro coisas:

  • Especifique o nome de host / IP público do servidor como o primeiro argumento para -R , caso contrário, ele estará ouvindo apenas no localhost , que obviamente não é acessível de fora do servidor.
  • Configure o servidor com GatewayPorts , o que permitirá que as portas encaminhadas sejam acessíveis de fora
  • Use a opção -g para basicamente permitir o mesmo do lado do cliente
  • Abra a porta 2222 no firewall do servidor.

O comando pode ser assim:

ssh -g -R server:2222:localhost:22 server
    
por 26.05.2017 / 10:43