O protocolo de transferência de arquivos, embora mais antigo do que muitos de nós, ainda se mantém relevante. O FTP, apesar de não possuir a segurança dos protocolos atuais, pode ser necessário em certas situações. Vamos explorar como utilizá-lo.
Importante: Evite FTP na Internet
É crucial entender que o Protocolo de Transferência de Arquivos (FTP), datado do início dos anos 70, foi concebido sem qualquer foco em segurança. Ele não emprega criptografia, expondo informações confidenciais como nomes de usuário, senhas e dados transferidos em texto não cifrado. Isso significa que qualquer pessoa com acesso à sua conexão pode interceptar essas informações. Contudo, o FTP ainda tem aplicações.
Se a transferência de arquivos ocorrer dentro de sua rede local, o uso do FTP é aceitável, desde que você confie que ninguém na rede esteja monitorando suas atividades. Caso os arquivos não contenham informações confidenciais, o FTP pode ser uma solução prática para transferências internas. O Linux oferece o comando ftp padrão para essas finalidades.
Entretanto, evite ao máximo usar o comando ftp para acessar recursos externos através da Internet. Para essas transferências, utilize o comando sftp, que utiliza o protocolo SSH para garantir a segurança da transferência. Ambos os comandos serão detalhados neste guia.
Para ilustrar o risco de usar FTP na Internet, observe a captura de tela abaixo. Ela demonstra claramente como a senha do FTP é exibida em texto não criptografado, tornando-a facilmente visível para qualquer pessoa com acesso à sua conexão ou ao servidor FTP.
A ausência de criptografia também permite que agentes maliciosos modifiquem os arquivos durante a transferência.
Explorando o Comando ‘ftp’
Supondo que você tenha uma conta válida em um servidor FTP, você pode se conectar usando o comando abaixo. Ao longo deste artigo, substitua o endereço IP nos comandos pelo endereço IP do seu servidor FTP.
ftp 192.168.4.25
Lembre-se: use o comando ftp apenas em redes locais de confiança. Para transferências pela Internet, utilize o comando sftp, que será abordado posteriormente.
O servidor FTP exibirá uma mensagem de boas-vindas, que varia conforme o servidor. Em seguida, solicitará o nome de usuário da conta que você deseja acessar.
Note que o endereço IP do servidor e seu nome de usuário do Linux são exibidos. Se o nome da sua conta no servidor FTP coincidir com seu nome de usuário Linux, basta pressionar Enter. Caso contrário, digite o nome da sua conta no servidor FTP e pressione Enter.
Autenticando no Servidor FTP
Em seguida, você será solicitado a digitar a senha da sua conta no servidor FTP. A senha não será exibida na tela. Após a verificação das suas credenciais, você estará conectado ao servidor FTP e verá o prompt ftp>.
Explorando e Baixando Arquivos
Inicialmente, você desejará ver os arquivos disponíveis no servidor. O comando ls realiza essa função. Suponha que você veja o arquivo gc.c e deseje baixá-lo para seu computador local.
O comando para baixar um arquivo é get. Para baixar gc.c, digite get gc.c.
O servidor iniciará a transferência do arquivo e confirmará o término, exibindo o tamanho do arquivo e o tempo de transferência.
ls
get gc.c
Para baixar vários arquivos simultaneamente, use o comando mget. Ele solicitará confirmação para cada arquivo.
Para grandes quantidades de arquivos, essa abordagem pode ser cansativa. Geralmente, arquivos relacionados são compactados em arquivos tar.gz ou tar.bz2 para facilitar o download.
mget *.c
Enviando Arquivos para o Servidor FTP
Com as permissões adequadas, você pode enviar arquivos para o servidor usando o comando put. No exemplo, o usuário enviará o arquivo Songs.tar.gz.
put Songs.tar.gz
Para enviar vários arquivos, utilize o comando mput. Ele solicitará confirmação para cada arquivo, assim como o mget.
A mesma lógica de compactação de arquivos em tar se aplica ao envio. O usuário enviará vários arquivos “.odt” usando o seguinte comando:
mput *.odt
Criando e Navegando em Diretórios
Se sua conta no servidor permitir, você poderá criar diretórios usando o comando mkdir. Lembre-se, os diretórios serão criados no servidor e não no seu computador.
Para navegar entre diretórios no servidor, use o comando cd. O prompt ftp> não indicará seu novo diretório. Use o comando pwd (print working directory) para verificar o diretório atual.
O usuário criará um diretório chamado music, acessará esse diretório, verificará sua localização com pwd e enviará o arquivo songs.tar.gz para este novo diretório.
mkdir music
cd music
pwd
put songs.tar.gz
Para retornar rapidamente ao diretório pai, utilize o comando cdup.
cdup
Acessando o Computador Local
Para alterar o diretório no seu computador, use o comando lcd no prompt ftp>. Porém, é fácil perder o controle da localização. Uma alternativa mais prática é usar o comando !.
O comando ! abre uma janela de shell para seu computador. Você pode realizar todas as ações possíveis em um terminal padrão. Para retornar ao prompt ftp>, digite exit.
O usuário utilizou o comando ! para acessar o shell local, visualizou os arquivos com ls e retornou ao prompt ftp> com exit.
!
ls
exit
Renomeando Arquivos
Para renomear arquivos no servidor, use o comando rename. O usuário renomeará o arquivo songs.tar.gz para rock_songs.tar.gz e listará os arquivos para confirmar a alteração.
rename songs.tar.gz rock_songs.tar.gz
ls
Excluindo Arquivos
Para excluir arquivos no servidor, use o comando delete. Para excluir vários arquivos, use mdelete, que solicitará confirmação para cada arquivo.
O usuário listará os arquivos, excluirá gc.o e em seguida, todos os arquivos com extensão .o.
ls
delete gc.o
mdelete *.o
Usando o Comando ‘sftp’
Como mencionado anteriormente, o comando ftp deve ser usado apenas em redes locais. O endereço 192.168 nos exemplos anteriores é um endereço IP interno.
Para conexões com servidores FTP remotos ou públicos, use o comando sftp. O usuário se conectará à conta demo no servidor test.trebex.net.
O sistema informará sobre a conexão estabelecida e a não verificação da autenticidade do host, o que é normal na primeira conexão. Aceite a conexão digitando “y”.
Como o nome da conta (demo) foi fornecido na linha de comando, apenas a senha será solicitada. Após a verificação, o prompt sftp> será exibido.
sftp [email protected]
Os comandos FTP descritos anteriormente funcionam de maneira similar em sessões SFTP, com as seguintes diferenças:
- Para excluir um arquivo, use rm (FTP usa delete)
- Para excluir vários arquivos, use rm (FTP usa mdelete)
- Para voltar ao diretório pai, use cd .. (FTP usa cdup)
O usuário utilizará ls para ver os arquivos, cd para acessar o diretório pub e pwd para verificar a localização.
Existem outras opções para transferência de arquivos no Linux, como o scp (cópia segura), mas este artigo focou em FTP e SFTP. Utilizados adequadamente, esses dois comandos atenderão às suas necessidades de transferência de arquivos.