- 1. Como se Conectar Através do SFTP
- 2. Como Transferir Arquivos com o SFTP
- 3. Transferir Arquivos de um Servidor Remoto à Máquina Local usando SFTP
- 4. Transferir Arquivos da Máquina Local Para um Servidor Remoto Usando SFTP
- 5. Comandos para Navegar com o SFTP
- 6. O Básico para Manutenção de Arquivos usando SFTP
- 7. O Que é SFTP?
- 8. Conclusão
FTP é o método padrão para transferir arquivos ou outros tipos de dados entre dois computadores, mas está se tornando mais e mais defasado no ambiente focado em segurança que temos hoje. Felizmente, é aí que entra o SFTP, o que é particularmente útil para usuários de hospedagem VPS.
Como se Conectar Através do SFTP
O SFTP é um subsistema do SSH. Portanto, ele suporta todos os métodos de autenticação SSH. Enquanto pode ser fácil configurar e usar autenticação por senha, é muito mais conveniente e seguro criar chaves SSH para ter um login de SFTP sem senha.
Uma vez que você estiver pronto, siga os passos abaixo para se conectar usando o SFTP:
- Confira o seu acesso SSH usando um desses comandos:ssh usuario@servidor_endereçodeip ssh usuario@hostremoto_nomededominio
- Assim que estiver pronto, saia da sessão – se nenhum erro tiver ocorrido.
- Inicie uma conexão SFTP com os seguintes comandos:sftp usuario@servidor_endereçodeip sftp usuario@hostremoto_nomededominio
- Se você está usando uma porta SSH customizada, use um desses comandos para modificar a porta SFTP:sftp -oPort=customport usuario@servidor_endereçodeip sftp -oPort=customport usuario@hostremoto_nomededominio
- Aqui está como deverá ficar o comando final:sftp -oPort=49166 user@31.220.57.32
Uma vez que você tiver se conectado, verá um prompt do SFTP.
Como Transferir Arquivos com o SFTP
Aqui, nós vamos mostrar como transferir arquivos remotos para o sistema local usando SFTP e vice-versa.
NOTA: você também pode transferir os seus arquivos usando clientes SFTP, como o WinSCP ou o FileZilla
Transferir Arquivos de um Servidor Remoto à Máquina Local usando SFTP
Para começar, vamos conferir qual local e qual diretório operacional remoto estamos usando. Para fazer isso, vamos usar estes comandos SFTP:
sftp> lpwd Local directory: /LocalDirectory sftp> pwd Remote directory: /RemoteDirectory
Agora, vamos ver como transferir um arquivo de um servidor remoto para sua máquina local usando o comando get. A sintaxe básica do comando get é:
get /remote-directory/file.txt
Para copiar o arquivo /etc/xinetd.conf do servidor remoto para sua máquina local, você usaria o comando:
get /etc/xinetd.conf
Depois do download, você poderá encontrar o arquivo xinetd.conf no diretório /user/home da sua máquina local.
Para fazer download de diversos arquivos, use o comando mget. Para baixar todos os arquivos com extensão .conf num diretório chamado /etc no seu diretório operacional atual, você vai usar o seguinte comando:
mget /etc/*.conf
Depois do download, você pode encontrar todos os arquivos *.conf no diretório /user/home da sua máquina local.
Transferir Arquivos da Máquina Local Para um Servidor Remoto Usando SFTP
Para copiar um arquivo de uma máquina local (conectado SFTP) para o servidor remoto use o comando get. A sintaxe do comando get é:
get file.txt /RemoteDirectory
Aqui está como transferir o arquivo example.txt de uma máquina local para uma máquina remoto:
put /home/edward/example.txt /root
Aqui, nós iremos encontrar o arquivo no diretório root da máquina de destino (servidor remoto).
Você também pode tentar transferir arquivos múltiplos usando o comando mput. Ele funciona como o mget:
mput/home/edward/*.txt /root
Esse comando irá transferir todos os arquivos com a extensão .txt para o diretório /home/edward da máquina local para o diretório /root da máquina remota.
NOTA: Tenha em mente que, para fazer download e subir os arquivos, você precisa digitar o comando put ou get e clicar na tecla TAB.
Comandos para Navegar com o SFTP
Alguns comandos podem ser usados para navegar através dos servidores remotos e locais de maneira mais eficiente com o SFTP. Eles são similares àqueles que você usaria no prompt do Linux shell.
Por exemplo, o comando pwd é sempre útil para deixar você saber em que diretório está trabalhando atualmente
sftp> pwd Remote directory: /RemoteDirectory
ou
sftp> lpwd Local directory: /LocalDirectory
Você também pode exibir a lista de arquivos e diretórios que está usando para um diretório remoto:
ls
De maneira similar, para o diretório operacional local:
lls
Por exemplo, a saída desse comando será algo parecido com isso:
Pictures Templates Media Text.txt Documents
Para mudar de um diretório operacional remoto para outro, insira os seguintes comandos:
cd name_of_directory lcd name_of_directory
Finalmente, use os comandos ! e exit para voltar para o shelllocal e sair do SFTP.
O Básico para Manutenção de Arquivos usando SFTP
Com o SFTP, você também pode gerenciar diretórios ou arquivos usando comandos específicos.
Para conferir o espaço em disco de um servidor remoto em gigabytes, use a função df da seguinte maneira:
df -h
Aqui está um exemplo de saída:
Filesystem Size Used Avail Use% Mounted on /dev/ploop29212p1 59G 2.5G 56G 5% / none 1.5G 0 1.5G 0% /sys/fs/cgroup none 1.5G 0 1.5G 0% /dev tmpfs 1.5G 0 1.5G 0% /dev/shm tmpfs 1.5G 568K 1.5G 1% /run tmpfs 308M 0 308M 0% /run/user/0
Use o comando mkdir para criar um novo diretório no servidor remoto ou no local:
mkdir name_of_directory lmkdir name_of_directory
Você pode deletar um do servidor remoto usando o comando rmdir:
rmdir name_of_directory
Enquanto isso, renomear um arquivo remoto também é algo bem simples e direto:
rename filename new_filename
Aqui está um exemplo:
rename Old_FileExample New_FileExample
Se você quer remover um arquivo remoto, use o comando rm:
rm filename
Enquanto isso, o comando chown é usado para substituir o proprietário de um arquivo:
chown userid filename
O userid pode ser tanto um nome de usuário quanto um ID número de usuário. Por exemplo:
chown UserOne FileExample chown 1234 FileExample
O chgrp é usado para mudar o grupo proprietário de um arquivo:
chgrp groupid filename
Por exemplo:
chgrp NewGroup FileExample
Finalmente, você precisa usar o comando interativo chmod para mudar as permissões de um arquivo:
chmod 764 FileExample
Neste exemplo, o valor de três dígitos representa os usuários user, grupo e other do arquivo.
Já sobre as permissões read (r), write (w) e execute (x), os seus valores são 4, 2 e 1, respectivamente. O 0 também pode ser usado para não fornecer nenhuma permissão.
Para definir permissões, simplesmente calcule os valores totais de cada classe de usuário. Aqui estão detalhes do exemplo:
chmod ugo FileExample # u representa o Usuário (User) que poderá ler, escrever e executar o arquivo. # g é apra Groups, aqui nós damos a permissão para escrever e executar o arquivo. # o ou Others só poderá ler o arquivo.
Lista de Comandos SFTP Úteis
Se você precisa de uma lista rápida de comandos, aqui estão todos os disponíveis para o SFTP. Você pode encontrar esta lista por conta própria simplesmente ao inserir os comandos help ou ? – ambos vão oferecer o mesmo resultado.
bye Sair do sftp cd path Mudar o diretório remoto para 'path' chgrp [-h] grp path Mudar o grupo do arquivo 'path' para 'grp' chmod [-h] mode path Mudar permissões do arquivo 'path' para 'mode' chown [-h] own path Mudar propriedade do arquivo 'path' para 'own' df [-hi] [path] Exibir estatísticas para o atual diretório ou sistema de arquivos contendo 'path' exit sair do sftp get [-afpR] remote [local] Baixar arquivo help Exibir este texto de ajuda lcd path Mudar diretório local para 'path' lls [ls-options [path]] Exibir listagem do diretório local lmkdir path Criar diretório local ln [-s] oldpath newpath Linkar arquivo remoto (-s para symlink) lpwd Imprimir diretório operacional local ls [-1afhlnrSt] [path] Exibir listagem remota de diretório lumask umask Definir local umask para 'umask' mkdir path Criar diretório remoto progress Habilitar a exibição do medidor de progresso put [-afpR] local [remote] Upload de arquivo pwd Exibir diretório operacional remoto quit Sair do sftp reget [-fpR] remote [local] Continuar downloa de arquivo rename oldpath newpath Renomear arquivo remoto reput [-fpR] local [remote] Resumir upload de arquivo rm path Deletar arquivo remoto rmdir path Remover diretório remoto symlink oldpath newpath Arquivo remoto Symlink version Mostrar versão SFTP !command Executar 'command' no local shell ! Escapar para local shell
O Que é SFTP?
SFTP, ou SSH File Transfer Protocol, é uma maneira muito mais segura de mover arquivos. Usando o protocolo SSH, ela suporta criptografia e outros métodos de segurança usados para melhor proteger transferências de arquivos.
É o único protocolo de transferência de arquivos que protege contra ataques em qualquer ponto do processo de transferência de dados, sendo então o protocolo preferido.
Durante a transferência de arquivos, todos os dados são divididos em pacotes e enviados através de uma única conexão segura.
Informações sensíveis serão criptografadas e não poderão ser lidas enquanto estão sendo transferidas entre o cliente e o servidor. Em outras palavras, o conteúdo original (plaintext) será substituído por uma string de caracteres incoerentes (chipertext).
Apenas que vai receber as informações e terá uma chave de decodificação que poderá ver o conteúdo original. Isso evita qualquer acesso não autorizado na transferência de arquivos.
O FTP tradicional possui dois canais diferentes para trocar dados, o canal de comando e o canal de dados. Por outro lado, o SFTP possui apenas um canal criptografado no qual os dados são trocados em pacotes criptografados e formatados.
Conclusão
Isso cobre todos os aspectos básicos de como usar o SFTP para assegurar a transferência de arquivos. Esperamos que esse tutorial tenha sido útil para você.