SSH - Usando scp para transferência de arquivos entre hosts Linux
Índice:
- Antes de você começar
- Estabelecendo uma conexão SFTP
- Comandos SFTP
- Navegando com SFTP
- Transferindo arquivos com SFTP
- Baixando arquivos com o comando SFTP
- Upload de arquivos com o comando SFTP
- Manipulações de arquivo com SFTP
- Conclusão
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
:
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:
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
echgrp
.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 sftpComo usar o aplicativo xiaomi shareme para transferir arquivos e dados no android

Olhando para compartilhar arquivos entre dois telefones Android? Dê uma olhada neste artigo para descobrir como usar o aplicativo ShareMe (MI Drop) do Xiaomi para transferir arquivos no Android.
Como usar o comando linux ftp para transferir arquivos

FTP (File Transfer Protocol) é um protocolo de rede padrão usado para transferir arquivos de e para uma rede remota. Neste tutorial, mostraremos como usar o comando linux ftp através de exemplos práticos.
Como usar o comando scp para transferir arquivos com segurança

Neste tutorial, mostraremos como usar o comando scp através de exemplos práticos e explicações detalhadas das opções mais comuns do scp.