O Protocolo de transferência de arquivos é mais antigo que a maioria dos nossos leitores, mas ainda está forte. O FTP não tem a segurança de um protocolo moderno, mas você pode precisar usá-lo de qualquer maneira. Aqui está como fazer isso.
Aviso: não use FTP pela Internet
Vamos deixar isso claro desde o início: o File Transfer Protocol (FTP) remonta ao início dos anos 1970 e foi escrito sem nenhuma consideração à segurança. Ele não usa criptografia para nada. As credenciais de login como seu nome de usuário e senha, bem como os dados que você baixa ou carrega, são transferidos em texto não criptografado. Qualquer pessoa ao longo do caminho pode ver seus segredos. No entanto, o FTP ainda tem seus usos.
Se você estiver transferindo arquivos na sua rede, deve estar seguro – desde que ninguém na rede cheire pacotes e intercepte documentos confidenciais durante a transferência. Se seus arquivos não forem confidenciais ou sensíveis, movê-los pela rede interna com FTP deve ser bom. Linux tem o padrão ftp
programa de linha de comando para lidar exatamente com esse cenário.
Mas definitivamente não use o ftp
comando para acessar recursos externos pela Internet. Para isso, use o sftp
programa de linha de comando, que usa o SSH File Transfer Protocol seguro. Vamos apresentar esses dois programas neste tutorial.
Para esclarecer por que você nunca deseja usar o FTP pela Internet, dê uma olhada na captura de tela abaixo. Mostra a senha do FTP em texto sem formatação. Qualquer pessoa na sua rede ou entre você e o servidor FTP na Internet pode facilmente ver a senha é “MySecretPassword”.
Sem a criptografia, um agente mal-intencionado também pode modificar os arquivos que você está baixando ou carregando em trânsito.
O comando ftp
Supondo que você tenha uma conta válida em um site FTP, você pode se conectar a ela com o seguinte comando. Neste artigo, substitua o endereço IP nos comandos pelo endereço IP do servidor FTP ao qual você está se conectando.
ftp 192.168.4.25
Atenção: Você só deve usar o ftp
comando para conectar-se a servidores em uma rede local confiável. Use o sftp
comando, coberto abaixo, para transferir arquivos pela Internet.
O servidor FTP responde com uma mensagem de boas-vindas. A redação da saudação varia de servidor para servidor. Em seguida, ele solicita o nome de usuário da conta em que você está fazendo login.
Observe que o endereço IP do site ao qual você está se conectando é exibido, seguido pelo seu nome de usuário Linux. Se o nome da sua conta no servidor FTP for igual ao seu nome de usuário Linux, basta pressionar a tecla Enter. Isso usará seu nome de usuário Linux como o nome da conta no servidor FTP. Se o seu nome de usuário Linux e o nome da conta FTP forem diferentes, digite o nome do usuário da conta FTP e pressione Enter.
Fazendo login no servidor FTP
Você será solicitado a digitar sua senha para o site FTP. Digite sua senha e pressione Enter. Sua senha não é exibida na tela. Se a combinação de nome de usuário e senha da conta de usuário FTP for verificada pelo servidor FTP, você será conectado ao servidor FTP.
Você será apresentado com o ftp>
pronto.
Examinando e recuperando arquivos
Primeiro, você provavelmente deseja obter uma lista dos arquivos no servidor FTP. o ls
comando faz exatamente isso. Nosso usuário vê o arquivo gc.c
está no servidor FTP e ele deseja fazer o download para o seu próprio computador. Seu computador é o “computador local” na linguagem FTP.
O comando para recuperar (ou “obter”) um arquivo é get
. Nosso usuário, portanto, emite o comando get gc.c
. Eles digitam get
, um espaço e, em seguida, o nome do arquivo que eles desejam recuperar.
O servidor FTP responde transferindo o arquivo para o computador local e confirmando a transferência. O tamanho do arquivo e o tempo que levou para transferir também são mostrados.
ls
get gc.c
Para recuperar vários arquivos de uma vez, use o mget
comando (obtenção múltipla). o mget
O comando solicitará que você confirme se deseja fazer o download de cada arquivo por vez. Responda pressionando “y” para sim e “n” para não.
Isso seria tedioso para um grande número de arquivos. Por esse motivo, as coleções de arquivos relacionados geralmente são armazenadas em sites ftp como arquivos tar.gz ou tar.bz2 únicos.
RELACIONADOS: Como extrair arquivos de um arquivo .tar.gz ou .tar.bz2 no Linux
mget *.c
Upload de arquivos para o servidor FTP
Dependendo das permissões que foram concedidas à sua conta FTP, você poderá enviar (ou “colocar”) arquivos para o servidor. Para fazer upload de um arquivo, use o put
comando. Em nosso exemplo, o usuário está carregando um arquivo chamado Songs.tar.gz
para o servidor FTP.
put Songs.tar.gz
Como você provavelmente espera, existe um comando para colocar vários arquivos no servidor FTP de uma só vez. É chamado mput
(colocação múltipla). Assim como o mget
comando fez, mput
solicitará uma confirmação “y” ou “n” para o upload de cada arquivo, um por um.
O mesmo argumento para colocar conjuntos de arquivos nos arquivos tar aplica-se à colocação de arquivos e à obtenção de arquivos. Nosso usuário está carregando vários arquivos “.odt” com o seguinte comando:
mput *.odt
Criando e alterando diretórios
Se a sua conta de usuário no servidor ftp permitir, você poderá criar diretórios. O comando para fazer isso é mkdir
. Para ficar claro, qualquer diretório que você criar com o mkdir
O comando será criado no servidor ftp e não no computador local.
Para alterar os diretórios no servidor ftp, use o cd
comando. Quando você usa o cd
comandar o ftp>
O prompt não será alterado para refletir seu novo diretório atual. o pwd
(diretório de trabalho de impressão) mostrará seu diretório atual.
Nosso usuário do ftp cria um diretório chamado music, muda para esse novo diretório e confirma onde eles estão usando o pwd
O comando carrega um arquivo nesse diretório.
mkdir music
cd music
pwd
put songs.tar.gz
Para mover rapidamente para o diretório pai do diretório atual, use o cdup
comando.
cdup
Acessando o computador local
Para alterar o diretório no computador local, você pode usar o lcd
comando no ftp>
pronto. No entanto, é fácil perder o controle de onde você está no sistema de arquivos local. Um método mais conveniente de acessar o sistema de arquivos local é usar o !
comando.
o !
O comando abre uma janela do shell no computador local. Você pode fazer qualquer coisa neste shell em uma janela de terminal padrão. Quando você digita exit
você retornou ao ftp>
pronto.
Nosso usuário usou o !
comando e entrou em uma janela do shell no computador local. Eles emitiram um ls
comando para ver quais arquivos estão presentes nesse diretório e digitados exit
para retornar ao ftp>
pronto.
!
ls
exit
Renomeando arquivos
Para renomear arquivos no servidor FTP, use o rename
comando. Aqui, nosso usuário FTP renomeia um arquivo com rename
e depois usa o ls
comando para listar os arquivos no diretório
rename songs.tar.gz rock_songs.tar.gz
ls
Excluindo arquivos
Para excluir arquivos no servidor FTP, use o delete
comando. Para excluir vários arquivos de uma vez, use o mdelete
comando. Você será solicitado a fornecer uma confirmação “y” ou “n” para a exclusão de cada arquivo.
Aqui, nosso usuário de FTP listou os arquivos para ver seus nomes e, em seguida, escolheu um para excluir. Eles então decidem excluí-los todos.
ls
delete gc.o
mdelete *.o
Usando o comando sftp
Os leitores familiarizados com o sistema de endereçamento IP perceberão que o endereço 192.168 do servidor FTP usado nos exemplos acima é um endereço IP interno, também chamado de endereço IP privado. Como advertimos no início deste artigo, o ftp
O comando deve ser usado apenas em redes internas.
Se você deseja se conectar a um servidor FTP remoto ou público, use o sftp
comando. Nosso usuário se conectará a uma conta SFTP chamada demo
no servidor FTP acessível ao público localizado em test.trebex.net
.
Quando eles se conectam, eles são informados de que a conexão foi estabelecida. Eles também são informados de que a autenticidade do host não pode ser verificada. Isso é normal para a primeira conexão de um novo host. Eles pressionam “y” para aceitar a conexão.
Porque o nome da conta do usuário (demo
) foi passado na linha de comando e não é solicitado o nome da conta do usuário. Eles são solicitados apenas para a senha. Isso é inserido, verificado e aceito, e são apresentados com o sftp>
pronto.
sftp demo@test.rebex.net
Os comandos FTP que descrevemos acima funcionarão da mesma forma em uma sessão SFTP, com as seguintes exceções.
- Para excluir um arquivo, use
rm
(FTP usadelete
) - Para excluir vários arquivos, use
rm
(FTP usamdelete
) - Para ir para o diretório pai, use
cd ..
(FTP usacdup
)
Nosso usuário usou alguns comandos em sua sessão SFTP. Eles têm uso ls
para listar os arquivos e cd
para mudar para o diretório pub. Eles usaram o pwd
para imprimir o diretório de trabalho.
Existem outras opções para transferir arquivos no mundo Linux, principalmente scp
(cópia segura), mas nos concentramos em FTP e SFTP aqui. Utilizados nos cenários aplicáveis, esses dois comandos atenderão você e suas necessidades de armazenamento e recuperação de arquivos.
0 Comments