Linux - Transferência de arquivos utilizando sftp
Existe dois protocolos de transferência comumente usados no ssh, RCP (implementado pelo scp) e o SFTP.
Hoje vamos falar um pouco de um programa muito útil do linux, o sftp. Para quem já utilizou o protocolo ftp (de transferência de dados) está ai uma opção muito interessante.
Vamos utilizar como plataforma o console do linux e a transferência de exemplo será entre duas máquinas com sistema operacional Linux.
Primeiramente temos que saber em qual máquina a conexão será estabelecida. Isto se traduz em saber o endereço, login e senha da máquina.
Tendo estas infos em mãos, podemos digitar na shell
$ sftp login@endereco
ou como um melhor exemplo:
$ sftp usuario1@200.200.00.0001
o endereço, neste caso, é o ip da máquina que se quer conectar
Após inserir a senha solicitada você estará conectado. A partir deste momento temos de ter em mente que estamos em um "ambiente duplo", ou seja, o sftp nos deixa com a possibilidade de operar comandos tanto no computador local (onde você está) quanto no computador remoto. Assim podemos listar arquivos, mudar de diretório e etc., tanto no computador remoto quanto no local. O que diferencia onde cada comando será executado é a inserção da letra l na frente de seu comando, onde o l significa "Local". O comando "cd" mudaria de diretório no computador remoto e "lcd" alteraria o diretório na máquina Local. É esta a ideia geral do sftp.
Abaixo seguem alguns dos comandos principais do SFTP:
ls - lista o diretório atual no computador remoto
lls - lista o diretório atual no computador local
cd - muda o diretório atual no computador remoto
lcd - muda o diretório atual no computador local
put - envia arquivos para o computador remoto
get - recebe arquivos do computador remoto
A idéia do SFTP é que você se mova para o diretório de origem e destino usando cd e lcd e que fazendo um simples put ou get o arquivo seja transferido para o local correto, sem ter de digitar o caminho completo para cada arquivo transferido.
Exemplo:
sftp> cd /home/arquivos_remoto/
sftp> lcd /home/arquivos_local/
posiciona o usuário nas pastas corretas
sftp> ls
arquivo1
arquivo2
lista os arquivos do computador remoto
sftp> lls
arquivo3
arquivo4
lista os arquivos do computador local
sftp> put arquivo2
sftp> ls
arquivo2
arquivo3
arquivo4
transfere os arquivos da pasta /home/arquivos_local/ para /home/arquivos_remoto/ e lista o diretório remoto.
sftp> get arquivo4
sftp> lls
arquivo1
arquivo2
arquivo4
transfere os arquivos da pasta /home/arquivos_remoto/ para /home/arquivos_local/ e lista o diretório local.
Um truque interessante é a transferência de vários arquivos em sequência.
sftp> get arquivo*.txt
Baixa todos os arquivos do tipo arquivo1.txt arquivo2.txt arquivocomoutronome.txt e etc. * (asterisco) é um coringa.
Para encerrar o sftp basta digitar:
sftp> bye
ou
sftp> exit
Espero que as dicas sejam úteis.
Abraço a todos
Comentários
Postar um comentário