Android

Como usar o comando linux sftp para transferir arquivos

SSH - Usando scp para transferência de arquivos entre hosts Linux

SSH - Usando scp para transferência de arquivos entre hosts Linux

Índice:

Anonim

O SFTP (SSH File Transfer Protocol) é um protocolo de arquivo seguro usado para acessar, gerenciar e transferir arquivos através de um transporte SSH criptografado.

Quando comparado com o protocolo FTP tradicional, o SFTP oferece toda a funcionalidade do FTP e é mais fácil de configurar.

Diferente do scp command , que permite apenas transferências de arquivos, o comando sftp permite executar várias operações em arquivos remotos e retomar as transferências.

Neste tutorial, mostraremos como usar o comando sftp do Linux.

Antes de você começar

Para poder transferir e gerenciar arquivos via SFTP, você deve ter permissão de gravação no sistema remoto.

Ao transferir arquivos grandes, é recomendável executar o comando sftp dentro de uma sessão de tela ou tmux.

O diretório de onde você executa o comando sftp é o diretório de trabalho local.

Estabelecendo uma conexão SFTP

O SFTP funciona em um modelo cliente-servidor. É um subsistema do SSH e suporta todos os mecanismos de autenticação SSH.

Embora a autenticação tradicional por senha seja configurada por padrão e mais fácil de usar, se você se conectar regularmente ao seu servidor via SSH / SFTP, é recomendável criar chaves SSH e configurar um login SFTP sem senha.

Para abrir uma conexão SFTP com um sistema remoto, use o comando sftp seguido pelo nome de usuário do servidor remoto e o endereço IP ou nome de domínio:

sftp remote_username@server_ip_or_hostname

Depois de conectado, você receberá o prompt sftp e poderá começar a interagir com a máquina remota:

Connected to remote_username@server_ip_or_hostname. sftp>

Se o servidor SSH remoto não estiver atendendo na porta padrão 22, use a opção -oPort para especificar a porta alternativa:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

Comandos SFTP

A maioria dos comandos SFTP é semelhante ou idêntica aos comandos que você usaria no prompt do shell do Linux.

Você pode obter uma lista de todos os comandos SFTP disponíveis, digitando help ou ? .

help

Available commands: bye Quit sftp cd path Change remote directory to 'path'…… version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help

Navegando com SFTP

Quando você está conectado ao servidor remoto, seu diretório de trabalho atual é o diretório inicial do usuário remoto. Você pode verificar isso digitando:

pwd

Remote working directory: /home/remote_username

Para listar os arquivos e diretórios, use o comando ls :

ls

Para navegar para outro diretório, use o comando cd . Por exemplo, para alternar para o /tmp , digite:

cd /tmp

Os comandos acima são usados ​​para navegar e trabalhar no local remoto.

O shell sftp também fornece comandos para navegação local, gerenciamento de informações e arquivos. Os comandos locais são prefixados com a letra l .

Por exemplo, para imprimir o diretório de trabalho local, digite:

cd lpwd

Local working directory: /home/local_username

Transferindo arquivos com SFTP

Com o SFTP, você pode transferir arquivos com segurança entre duas máquinas.

O comando sftp é útil quando você trabalha em um servidor sem GUI e deseja transferir arquivos ou executar outras operações nos arquivos remotos.

Baixando arquivos com o comando SFTP

Depois de fazer login no servidor remoto, seu diretório de trabalho atual é o diretório inicial do usuário remoto.

Ao baixar arquivos com o comando sftp , os arquivos são baixados no diretório a partir do qual você digitou o comando sftp .

Para baixar um único arquivo do servidor remoto, use o comando get :

get filename.zip

A saída deve ser algo como isto:

Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13

get filename.zip local_filename.zip

Para baixar um diretório do sistema remoto, use a opção -r recursiva:

get -r remote_directory

Se uma transferência de arquivo falhar ou for interrompida, você poderá continuar usando o comando reget .

A sintaxe de reget é a mesma que a sintaxe de get :

reget filename.zip

Upload de arquivos com o comando SFTP

Para fazer upload de um arquivo da máquina local para o servidor SFTP remoto, use o comando put :

put filename.zip

A saída deve ser algo como isto:

Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06

Se o arquivo que você deseja enviar não estiver localizado no seu diretório de trabalho atual, use o caminho absoluto para o arquivo.

Ao trabalhar com put você pode usar as mesmas opções disponíveis com o comando get .

Para fazer upload de um diretório local, digite:

put -r locale_directory

Para retomar um upload interrompido:

reput filename.zip

Manipulações de arquivo com SFTP

Normalmente, para executar tarefas em um servidor remoto, você se conecta a ele via SSH e faz seu trabalho usando o terminal shell. No entanto, em algumas situações, o usuário pode ter apenas acesso SFTP ao servidor remoto.

O SFTP permite executar alguns comandos básicos de manipulação de arquivos. Abaixo estão alguns exemplos de como usar o shell SFTP:

  • Obtenha informações sobre o uso do disco do sistema remoto:

    df

    Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%

    Crie um novo diretório no servidor remoto:

    mkdir directory_name

    Renomeie um arquivo no servidor remoto:

    rename file_name new_file_name

    Exclua um arquivo no servidor remoto:

    rm file_name

    Exclua um diretório no servidor remoto:

    rmdir directory_name

    Altere as permissões de um arquivo no sistema remoto:

    chmod 644 file_name

    Altere o proprietário de um arquivo no sistema remoto:

    chown user_id file_name

    Você deve fornecer o ID do usuário aos comandos chown e chgrp .

    Altere o proprietário do grupo de um arquivo remoto com:

    chgrp group_id file_name

Quando terminar o seu trabalho, feche a conexão digitando bye ou quit .

Conclusão

Neste tutorial, mostramos como usar o comando sftp para baixar e fazer upload de arquivos para o servidor SFTP remoto.

Você também pode configurar uma autenticação baseada em chave SSH e conectar-se aos servidores Linux sem inserir uma senha.

Sinta-se à vontade para deixar um comentário se tiver alguma dúvida ou comentário.

terminal sftp