De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Criptografando autênticação de FTP pelo OpenSSH
Colaboração: André Jaccon
Data de Publicação: 01 de Abril de 2005
Neste artigo estarei dando um exemplo de como criptografar
comandos de autênticação de FTP através de um túnel pelo
OpenSSH.
Considerações iniciais:
S.O usado no teste:
- Debian Gnu/Linux 2.4.29
- Servidor SSH: OpenSSH 3.4p1
- Servidor FTP: Proftpd 1.2.10
Para que nosso exemplo funcione é necesário que o o cliente
e o servidor tenham suporte a conexões FTP ativo e o servidor
precisa ter suporte para aceitar os comandos PORT para máquinas
que não sejam do canal de comandos de origem.
Considere o exemplo abaixo:
+--------------------------------------------+
|Cliente - 192.168.0.1 suposta porta ftp 2121|
+--------------------------------------------+
|
+---------------------------------------+
| Servidor - 192.168.0.2 ftp 21 ssh 2222|
+---------------------------------------+
1) Devemos abrir uma conexão SSH com nosso servidor de FTP seguindo o exemplo abaixo:
# ssh -p 2222 -l jaccon -L 2121:192.168.0.2:21 localhost
Explicando as Flags:
- -p 2222: indica a porta do servidor OpenSSH em nosso Servidor
- -l jaccon: usuário válido em nosso Servidor
- -L: Port forwarding
- 2121: suposta porta local
- :192.168.0.2:21 : endereço do servidor ftp seguido da porta de comunicação do serviço FTP.
- localhost: máquina local
2) Depois de logado pelo SSH use o comando abaixo para iniciar a sessão FTP:
# ftp localhost 2121
Com isso o programa ssh criará um túnel pelo ssh a porta (2222)
vinculando uma porta local (2121) para o servidor remoto na
porta do serviço de ftp indicada após o endereço de IP.
Apesar de usar o próprio comando scp ou ainda o sftp está é
mais uma opção para comunicação com um servidor de FTP.