Pré -requisitos
Antes de iniciar as etapas deste tutorial, as etapas a seguir serão necessárias para concluir.
A. Ative o serviço SSH no Ubuntu se não estiver ativado antes.
B. Gere os pares de chaves ssh para executar os comandos no servidor remoto. Execute o seguinte comando para criar a chave pública e a chave privada. A chave privada será armazenada no servidor remoto e as chaves públicas serão armazenadas no cliente com segurança.
$ ssh -keygen -t rsaC. Execute o seguinte comando para abrir o sshd_config Arquivo usando o Nano Editor para adicionar algumas configurações necessárias.
$ sudo nano/etc/ssh/sshd_configAdicione as seguintes linhas no arquivo para ativar o login root e a autenticação baseada em senha.
PasswordAuthentication SimD. Execute o seguinte comando para reiniciar o serviço SSH.
$ sudo serviço ssh reinicializaçãoEncaminhamento de porta local
É usado para encaminhar uma porta da máquina cliente para uma porta da máquina do servidor e, em seguida, que será encaminhado para a máquina de destino. A máquina cliente ouve em uma determinada porta e túneis a conexão dessa porta para a porta específica da máquina do servidor nesse tipo de encaminhamento. Aqui, a máquina de destino pode ser qualquer servidor remoto ou outra máquina. Este encaminhamento é usado principalmente na rede interna, como o VNC (Virtual Network Computing) Server.
Encaminhamento de porta remota
O oposto do encaminhamento local é o encaminhamento de porta remota. É usado para encaminhar uma porta da máquina do servidor para uma porta da máquina cliente e, em seguida, que será encaminhada para a máquina de destino. A máquina do servidor ouve em uma determinada porta e túneis a conexão dessa porta para a porta específica da máquina cliente nesse tipo de encaminhamento. Aqui, a máquina de destino pode ser qualquer máquina local ou outra máquina.
Encaminhamento de porta dinâmica
Ele é usado para criar um soquete na máquina cliente que funcionará como um servidor proxy de meias e, quando um cliente se conectar à porta, a conexão será encaminhada para a máquina do servidor. Em seguida, será encaminhado para a porta dinâmica da máquina de destino. Os aplicativos usando proxy de meias serão conectados à máquina do servidor que encaminhará os tráfego para a máquina de destino.
Exemplos de tunelamento SSH ou encaminhamento de porta
Os exemplos de tunelamento e encaminhamento de porta SSH foram mostrados aqui usando duas contas de servidor local. Você pode seguir o mesmo processo para o servidor remoto. Aqui, o nome de usuário da máquina do servidor é 'Fahmida' e o nome de usuário da máquina cliente é 'Yasmin. Três tipos de encaminhamento de porta SSH foram mostrados aqui por três exemplos.
A. Acesse recursos remotos da máquina cliente
Os recursos da máquina remota podem ser acessados da máquina cliente usando o encaminhamento local da porta. Ele normalmente se conecta ao servidor SSH, mas, neste caso, você deve usar a opção -l com o comando ssh definindo a porta local, endereço remoto e porta remota. A sintaxe do encaminhamento local da porta é dada abaixo.
Suponha que o número da porta local seja 8080, O endereço IP do servidor remoto é 10.0.2.15, e o número da porta remota é 80. Execute o seguinte comando para conectar -se com a máquina do servidor pelo encaminhamento de porta local. Aqui, o nome do host da máquina remota é 'Fahmida.com.bd.'
$ ssh -l 8080: 10.0.2.15:80 [email protected]Depois de se conectar com a máquina remota, o usuário da máquina cliente poderá acessar qualquer conteúdo da máquina remota que foi mostrada aqui. Um arquivo de texto nomeado registro.TXT existe na máquina remota. Agora, execute o seguinte comando da máquina cliente para ler o conteúdo do arquivo após o login na máquina remota.
$ CAT LOG.TXTExecute os seguintes comandos para fazer login na máquina remota.
$ saídaA seguinte saída semelhante aparecerá após a execução dos comandos acima. A saída mostra o conteúdo do arquivo de texto da máquina remota e o próximo logon da máquina remota.
B. Acesse recursos locais da máquina do servidor
Os recursos da máquina local podem ser acessados na máquina do servidor usando o encaminhamento de porta remota. Normalmente, ele se conecta ao servidor SSH, mas, neste caso, você deve usar a opção -r com o comando ssh, definindo a porta remota, endereço local e porta local. A sintaxe do encaminhamento da porta remota é dada abaixo.
Suponha que o número da porta remota seja 22, o nome do host do servidor local é LocalHost, e o número da porta local é 2345. Execute o seguinte comando para se conectar com a máquina do servidor por encaminhamento de porta remota. Aqui, o nome do host da máquina remota é 'Fahmida.com.bd.'
$ ssh -r 22: localhost: 2345 [email protected]Depois de se conectar com a máquina remota, o usuário da máquina remota acessará qualquer conteúdo da máquina remota mostrada aqui. Um arquivo de texto nomeado produtos.TXT existe no diretório inicial da máquina cliente. Agora, execute o seguinte comando depois de se conectar com a máquina remota para ler o conteúdo do arquivo local.
$ cat/home/simmin/produtos.TXTA seguinte saída semelhante aparecerá após a execução dos comandos acima. A saída mostra o conteúdo do arquivo de texto da máquina cliente e o próximo logon da máquina remota.
C. Usando o servidor SSH como um servidor proxy
O encaminhamento dinâmico de porta é usado principalmente para acessar a aplicação específica da rede interna usando um proxy de meias. A opção -d é usada com o comando ssh para encaminhamento de porta dinâmica. A sintaxe do encaminhamento dinâmico de porta é dada abaixo.
Suponha que o número da porta local seja 5050. Execute o seguinte comando para abrir um proxy de meias na porta 5050. Agora, o usuário pode configurar qualquer navegador ou aplicativo para usar o endereço IP local e a porta 5050 para redirecionar todo o tráfego através do túnel.
$ ssh -d 5050 [email protected]Conclusão
Três maneiras diferentes de encaminhamento de portas SSH foram descritas neste tutorial para ajudar os leitores a entender o conceito de tunelamento SSH ou encaminhamento de portas.