Login
Login

Como copiar arquivos via SSH

Como copiar arquivos via SSH
Hostman Team
Redator técnico
O sistema Linux Conexão SSH
10.10.2025
Reading time: 5 min

O protocolo SSH (Secure Shell) é um protocolo de rede para gerenciamento remoto de sistemas operacionais via linha de comando. É amplamente considerado o padrão para acesso remoto a máquinas *nix. Ele permite login seguro em um servidor, execução remota de comandos, gerenciamento de arquivos (criar, excluir, copiar etc.) e muito mais. A maioria dos provedores de nuvem exige SSH para acessar seus serviços. Neste artigo, veremos como copiar arquivos via SSH em sistemas Windows e Linux.

Como o SSH funciona

O SSH pode transmitir com segurança qualquer tipo de dado (áudio, vídeo, dados de protocolo) por meio de um canal criptografado. Diferente de protocolos obsoletos e inseguros como Telnet e rlogin, o SSH garante confidencialidade e autenticidade — essenciais para a comunicação na Internet.

Veja como é estabelecida uma conexão segura entre cliente e servidor:

    1. Conexão TCP: Por padrão, o servidor escuta na porta 22. Ambas as partes compartilham uma lista de algoritmos compatíveis (compressão, criptografia, troca de chaves) e concordam em quais usar.

    2. Autenticação: Para evitar falsificação de identidade, ambas as partes verificam suas identidades usando criptografia assimétrica (pares de chaves pública/privada). O servidor é autenticado primeiro. Na primeira conexão, o cliente exibe um aviso com detalhes do servidor. As chaves dos servidores confiáveis são armazenadas em /home/<username>/.ssh/known_hosts.

    3. Geração de chave: Depois que o servidor é verificado, ambas as partes geram uma chave simétrica para criptografar todos os dados trocados.

    4. Autenticação do usuário: É feita usando senha ou chave pública enviada pelo cliente e armazenada no servidor em /home/<username>/.ssh/authorized_keys.

A implementação mais popular no Linux é o OpenSSH, que vem pré-instalado na maioria das distribuições (Ubuntu, Debian, RHEL etc.). No Windows, clientes como PuTTY ou MobaXterm são usados. Desde o Windows 10 e Server 2019, as ferramentas OpenSSH também estão disponíveis nativamente.

Copiando arquivos via SSH

Duas ferramentas principais para copiar arquivos no Linux são scp e sftp. Ambas vêm com o OpenSSH.

O SSH suporta duas versões de protocolo: 1 e 2. O OpenSSH suporta ambas, mas a versão 1 raramente é usada.

Configurar autocompletar

Para ativar o autocompletar com Tab ao usar scp, configure a autenticação por chave pública:

Gerar um par de chaves:

ssh-keygen

Saída esperada:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

Por padrão, as chaves (id_rsa para privada e id_rsa.pub para pública) são salvas em ~/.ssh/.

Copiar a chave pública para a máquina remota:

ssh-copy-id [username]@[ip-address]

Após inserir a senha do usuário, uma mensagem confirmará que a chave foi adicionada.

Secure Copy (SCP)

Para transferências pequenas (por exemplo, arquivos de configuração), scp é ideal.

Copiar de local para remoto:

scp test.txt user@192.168.1.29:/home/user/

Copiar vários arquivos:

scp test1.txt test2.txt user@192.168.1.29:/home/user/

Copiar de remoto para local:

scp user@192.168.1.29:/home/user/test.txt ~/

Copiar diretórios:

scp -r testdir user@192.168.1.29:/home/user/

Copiar de remoto para remoto:

scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/

Secure FTP (SFTP)

SFTP é outra ferramenta incluída no OpenSSH. Desde OpenSSH 9.0, scp usa SFTP por padrão em vez do protocolo SCP/RCP.

Ao contrário do FTP clássico, sftp transmite dados criptografados por meio de um túnel seguro. Não é necessário um servidor FTP separado.

Exemplo de uso:

sftp misato@192.168.1.29

sftp> ls
sftp> lcd testdir/
sftp> get test.txt
sftp> bye

Gerenciadores de arquivos gráficos como Midnight Commander e Nautilus também usam sftp. No Nautilus, o servidor remoto aparece como uma pasta local, por exemplo user@ip.

Image1

Copying Files Over SSH on Windows

No Windows, use a ferramenta de linha de comando pscp do PuTTY para copiar arquivos.

Copiar para o servidor:

pscp C:\server\test.txt misato@192.168.1.29:/home/misato/

Copiar do servidor:

pscp misato@192.168.1.29:/home/misato/test.txt C:\file.txt

Listar arquivos no servidor remoto:

pscp -ls user@192.168.1.29:/home/misato

Usar aspas para caminhos com espaços:

pscp "C:\dir\bad file name.txt" misato@192.168.1.29:/home/misato/

Exibir ajuda:

pscp

Conclusão

Vimos como copiar arquivos de e para um servidor usando o protocolo seguro SSH. Se você trabalha com servidores em nuvem, entender SSH é essencial — é o método padrão de acesso remoto a máquinas *nix e uma parte fundamental do trabalho diário de DevOps e administração de sistemas.

O sistema Linux Conexão SSH
10.10.2025
Reading time: 5 min

Semelhante

O sistema Linux

Como instalar e usar ripgrep: guia passo a passo para buscas eficientes

Introdução ao ripgrep (rg) ripgrep (frequentemente abreviado como rg) é uma ferramenta moderna, rápida e poderosa de linha de comando que permite pesquisar arquivos recursivamente, semelhante ao grep, porém com mais eficiência e recursos adicionais. Ela foi projetada para buscar em repositórios de código, ignorando automaticamente arquivos e diretórios definidos em .gitignore ou outros arquivos de configuração semelhantes. Isso torna o ripgrep extremamente eficiente para desenvolvedores que trabalham com grandes bases de código. Este tutorial aborda: Instalação do ripgrep no Linux Sintaxe básica e comandos do ripgrep Casos de uso comuns e exemplos Recursos avançados Comparação com outras ferramentas como grep Solução de problemas e boas práticas Ao final, você terá uma compreensão sólida de como usar o ripgrep de forma eficaz. Instalando o ripgrep no Linux Instalar o ripgrep é simples na maioria das distribuições Linux. Você pode instalá-lo usando o gerenciador de pacotes ou baixando o binário. Instalação no Ubuntu Siga estes passos: Atualize a lista de pacotes: sudo apt update Instale o ripgrep: sudo apt install ripgrep fzf Sintaxe básica e comandos do ripgrep A sintaxe do ripgrep é semelhante à do grep, mas o ripgrep oferece desempenho mais rápido e recursos mais poderosos por padrão. Sintaxe básica rg [OPÇÕES] PADRÃO [CAMINHO] Onde: PADRÃO é a string ou expressão regular que você deseja procurar. [CAMINHO] é opcional e especifica o diretório ou arquivo onde buscar. Se omitido, o ripgrep pesquisa no diretório atual. Exemplo: busca com extensões específicas Para pesquisar apenas arquivos com determinada extensão (por exemplo, .py): rg "function" *.py Busca recursiva por tipo de arquivo Ao usar extensões diretamente (*.py), o ripgrep não faz busca recursiva. Para isso, utilize --type: rg --type py "function" Isso garante que a busca seja feita em todos os arquivos relevantes da árvore de diretórios. Busca com expressões regulares O ripgrep suporta expressões regulares: rg '\d{4}-\d{2}-\d{2}' Busca datas no formato YYYY-MM-DD. Casos de uso comuns e exemplos Busca sem diferenciar maiúsculas e minúsculas rg -i "error" Corresponde a “error”, “Error” ou “ERROR”. Busca por tipo de arquivo Buscar apenas arquivos Python: rg --type py "import" Excluir diretórios Por exemplo, excluir node_modules: rg "config" --glob '!node_modules/*' Buscar em arquivos compactados O ripgrep pode pesquisar dentro de arquivos compactados sem extraí-los. Ele suporta formatos como .gzip, .xz, .lz4, .bzip2, .lzma e .zstd. Exemplo: rg 'ERST' -z demo.gz Recursos avançados do ripgrep O ripgrep permite exibir contexto adicional ao redor das linhas encontradas. Contexto antes e depois -B [número]: linhas antes -A [número]: linhas depois Exemplo: rg "EXT4-fs \(sda3\)" /var/log/syslog.demo -B 1 -A 2 Contexto combinado rg "EXT4-fs \(sda3\)" /var/log/syslog -C 1 -B 1 -A 2 oferece maior controle -C 2 mostra o mesmo número de linhas antes e depois Comparando ripgrep com outras ferramentas ripgrep vs grep ripgrep é mais rápido, especialmente em grandes bases de código ignora automaticamente arquivos de .gitignore grep é mais amplamente disponível, mas possui menos recursos nativos ripgrep vs ag (The Silver Searcher) ambos são otimizados para busca em código ripgrep geralmente é mais rápido e possui melhor suporte a globbing e regex Solução de problemas e boas práticas Arquivos grandes Se ocorrerem problemas de memória: rg "search-term" --max-filesize 10M Limita a busca a arquivos menores que 10 MB. Excluir tipos de arquivos globalmente Crie o arquivo ~/.ripgreprc: --glob '!*.log' --glob '!*.tmp' Isso exclui arquivos .log e .tmp de todas as buscas. Verificar versão rg --version Conclusão Este tutorial abordou a instalação do ripgrep, comandos básicos, recursos avançados e comparações com outras ferramentas. Graças à sua velocidade e eficiência, o ripgrep é uma excelente escolha para desenvolvedores que desejam aprimorar suas capacidades de busca em grandes bases de código.
04 February 2026 · 4 min to read
O sistema Linux

Como comprimir arquivos no Linux usando o comando tar

O comando tar funciona basicamente para agrupar arquivos e diretórios em um único arquivo sem alterar sua estrutura. Essa abordagem simplifica a organização, a criação de backups e a transferência de arquivos. Depois de empacotados, esses arquivos podem ser comprimidos usando diferentes métodos, como gzip, bzip2 ou xz, o que ajuda a otimizar o armazenamento e melhorar a velocidade de transferência. Distribuições Linux modernas em servidores Linux VPS vêm com versões atualizadas do tar, permitindo integração perfeita com ferramentas de compressão como gzip para um gerenciamento de dados mais eficiente. Isso torna o tar um recurso valioso para usuários que lidam com grandes conjuntos de dados, pois ele oferece suporte tanto à consolidação de arquivos quanto à compressão em um único comando. Graças à sua flexibilidade, o tar é amplamente utilizado em diferentes ambientes Linux. Ele não apenas facilita a criação de backups, mas também agiliza a distribuição de software e o gerenciamento de dados importantes. Com uma ampla variedade de opções disponíveis, os usuários podem personalizar os arquivos de acordo com suas necessidades, seja excluindo diretórios ou arquivos específicos, preservando permissões ou protegendo dados sensíveis. Para qualquer pessoa que lide com grandes volumes de informação ou requisitos complexos de armazenamento, aprender tudo sobre o comando tar é essencial. Tudo isso o torna uma utilidade importante para usuários Linux. E se você estiver procurando uma solução confiável, de alto desempenho e acessível para seus fluxos de trabalho, a Hostman oferece opções de Linux VPS Hosting, incluindo Debian VPS, Ubuntu VPS e VPS CentOS. Compreender a sintaxe do tar O comando tar é fundamentalmente dividido em quatro partes distintas: tar  -flags: Opções usadas para executar uma ação específica Nome do arquivo Caminho para o arquivo ou diretório desejado Ele é escrito da seguinte forma: tar -flags (nome_do_arquivo) (caminho) Arquivar arquivos e diretórios tar usado com a opção -cvf permite arquivar arquivos e diretórios. Para um arquivo: tar -cvf collectionX.tar snake.txt Para um diretório: tar -cvf DRcollection.tar newDir/ Isso arquivará o arquivo snake.txt em collectionX.tar e o diretório newDir em DRcollection.tar. Se o objetivo for arquivar vários arquivos e diretórios, use os seguintes comandos. Para vários arquivos: tar -cvf collectionX.tar snake.txt panther.txt Tiger.txt Para vários diretórios: tar -cvf DRcollection.tar newDir1/ newDir2/ newDir3/ Comprimir arquivos e diretórios tar usado com a opção -czvf permite comprimir arquivos e diretórios. Para um arquivo: tar -czvf collectionX.tar.gz snake.txt Para um diretório:  tar -czvf DRcollection.tar.gz newDir/ -c arquiva arquivos e diretórios -z aplica compressão gzip -v é o modo detalhado e mostra o processo de compressão -f permite definir o nome do arquivo que será comprimido Adicione .gz após tar se quiser comprimir arquivos e diretórios. Para vários arquivos: tar -cvf collectionX.tar.gz snake.txt panther.txt Tiger.txt Para vários diretórios: tar -cvf DRcollection.tar.gz newDir1/ newDir2/ newDir3/ .bz2 é usado com tar e, junto com a opção -cjf, permite arquivar e comprimir arquivos e diretórios. -j aplica compressão bzip2. Para um arquivo com bz2: tar -cjf collectionX.tar.bz2 snake.txt Para um diretório com bz2: tar -cjf DRcollection.tar.bz2 newDir/ .xz é usado com .tar e, junto com a opção -cJf, permite arquivar e comprimir arquivos e diretórios. -J significa compressão com xz. Para um arquivo com xz: tar -cJf DRcollection.tar.xz file1.txt Para um diretório com xz: tar -cJf collectionX.tar.xz newDir/ Extrair arquivos .tar compactados arch1.tar.gz, arch1.tar.bz2 e arch1.tar.xz são três arquivos compactados. Extrair .tar.gz: tar -xvzf arch1.tar.gz -x indica a extração de arquivos. Extrair tar.bz2: tar -xvjf arch1.tar.bz2 Extrair tar.xz: tar -xvJf arch1.tar.xz Extrair arquivos específicos usando curingas Se você precisar extrair apenas um tipo específico de arquivo de um arquivo, faça o seguinte: tar -xvf arch1.tar --wildcards '*.sh' Isso retornará apenas arquivos com a extensão .sh. --wildcards ajudam a pesquisar tipos específicos de arquivos e permitem correspondência de padrões. *.sh garante que apenas arquivos do tipo .sh sejam extraídos. Extrair para um diretório específico Se você precisar extrair o arquivo completo para um diretório específico, faça o seguinte: tar -xvf arch1.tar -C ./destinationDir/pathDir/ -C muda para o caminho do diretório especificado. -xvf ajuda a extrair o arquivo nesse local. Gerenciar arquivos .tar Verificar o conteúdo sem extrair Se você precisar saber o que há dentro de um arquivo sem descompactá-lo, use comandos como estes: tar -tzf arch1.tar.gztar -tjf arch1.tar.bz2tar -tJf arch1.tar.xz -t fornece detalhes sobre o conteúdo dos arquivos compactados sem realizar a extração. Adicionar arquivos a um arquivo existente Para adicionar um novo arquivo a um arquivo: tar -rvf arch1.tar new.sh new.sh será adicionado a arch1.tar. Remover um arquivo específico de um arquivo Se você precisar excluir um arquivo de um arquivo sem extraí-lo, isso pode ser feito usando --delete. tar --delete -f arch1.tar new.sh Isso removerá o arquivo new.sh do arquivo arch1.tar sem extraí-lo. Observe que --delete não funciona em arquivos compactados, apenas em arquivos. Comparar o conteúdo do arquivo com o diretório atual Se você precisar examinar o conteúdo do diretório de trabalho atual e compará-lo com o arquivo, use: tar --diff -f arch1.tar --diff ajuda a comparar o conteúdo de arch1.tar com o conteúdo disponível no diretório de trabalho atual. Solução de problemas comuns de .tar "tar: Removing leading '/' from member names" Esse aviso aparece quando caminhos absolutos são usados em um arquivo: tar -cvf arch1.tar /home/user/file.txt Solução: Use -p para preservar caminhos absolutos. tar -cvpf arch1.tar /home/user/file.txt "tar: Error opening archive: Unrecognized archive format" Esse erro ocorre quando o arquivo está corrompido ou quando o comando de descompressão incorreto é usado. Solução: Verifique o tipo de arquivo: file arch1.tar.gz Use o comando de descompressão correto: tar -xvzf arch1.tar.gz  # For .tar.gztar -xvjf arch1.tar.bz2  # For .tar.bz2tar -xvJf arch1.tar.xz   # For .tar.xz Se houver suspeita de corrupção, verifique a integridade: gzip -t arch1.tar.gzbzip2 -tv arch1.tar.bz2 Conclusão O utilitário tar serve como uma ferramenta importante para arquivamento, compressão e extração. Ele oferece eficiência, tornando-se um componente crucial do gerenciamento de armazenamento no Linux. Com uma variedade de configurações e opções, o tar funciona como uma solução duradoura que atende a diversos cenários de uso. Opções como -czvf e -xvzf determinam a forma como os arquivos são armazenados e recuperados, concedendo aos usuários controle total sobre a compressão de dados. Além disso, o tar oferece suporte a várias ferramentas de compressão, como gzip, bzip2 e xz, permitindo que os usuários otimizem tanto a velocidade quanto a taxa de compressão de acordo com suas necessidades específicas. Para profissionais de TI, desenvolvedores e usuários Linux, aprender tudo sobre tar é extremamente valioso. Seja para gerenciar backups, distribuir dados de forma eficiente ou otimizar o armazenamento, o tar continua sendo uma das ferramentas de arquivamento mais influentes. Ao selecionar as configurações e comandos corretos, os usuários podem melhorar significativamente seus fluxos de trabalho, automatizar tarefas e lidar com grandes conjuntos de dados de forma eficiente. Você também pode usar nosso armazenamento compatível com S3 para salvar todos os dados necessários para seus aplicativos e servidores.
28 January 2026 · 7 min to read
O sistema Linux

Criando links simbólicos no Linux: um tutorial passo a passo

Symlinks, também conhecidos como links simbólicos, funcionam como atalhos no mundo Linux. Eles permitem criar um novo nome (ou link) que aponta para outro arquivo, diretório ou qualquer objeto dentro do sistema de arquivos. Sua principal vantagem é reduzir redundâncias, evitando a necessidade de manter várias cópias do mesmo arquivo. Quando você usa um symlink, alterações feitas no arquivo original são refletidas em todos os seus links simbólicos. Isso elimina a necessidade de atualizar diversas cópias manualmente. Além disso, symlinks oferecem uma forma flexível de gerenciar permissões de acesso. Por exemplo, usuários diferentes, com diretórios apontando para subconjuntos de arquivos, podem limitar a visibilidade além do que as permissões padrão permitiriam. Em essência, symlinks são indispensáveis para uma gestão eficiente de arquivos e organização, simplificando atualizações e controle de acesso em sistemas complexos. Requisitos Para seguir este tutorial, você vai precisar de: Um servidor em nuvem, máquina virtual ou computador rodando um sistema operacional Linux. Na Hostman, você pode implantar um servidor com Ubuntu, CentOS ou Debian em menos de um minuto. Criando links simbólicos com o comando ln O comando ln é usado para criar links simbólicos no Linux. Siga estas etapas: Abra uma janela do terminal. Navegue até o diretório onde deseja criar o link simbólico. Use a seguinte sintaxe para criar um symlink: ln -s /path/to/source /path/to/symlink Substitua /path/to/source pelo caminho real do arquivo ou diretório que deseja vincular e /path/to/symlink pelo nome/local desejado para o link simbólico. Entendendo as opções do comando ln O comando ln oferece várias opções para personalizar a criação de symlinks:  -s: Cria um link simbólico.  -f: Sobrescreve um symlink existente.  -n: Trata o destino do symlink como um arquivo comum. Explore essas opções conforme suas necessidades de criação de links. Criando links simbólicos para arquivos Para criar um symlink para um arquivo, use o comando ln com a opção -s. Aqui está um exemplo de como criar um link simbólico para um arquivo usando o comando ln. O comando abaixo cria um link simbólico chamado symlink_file no diretório atual, apontando para o arquivo /path/to/file: ln -s /path/to/file /path/to/symlink_file Substitua /path/to/file pelo caminho real do arquivo e /path/to/symlink_file pelo nome desejado do symlink. Neste exemplo, o caminho é absoluto. Você também pode criar um symlink usando um caminho relativo. No entanto, lembre-se de que, para que o symlink funcione corretamente, qualquer processo que o acesse deve primeiro definir o diretório de trabalho correto; caso contrário, o link pode parecer quebrado. Criando links simbólicos para diretórios Você pode usar o comando ln para criar um link simbólico que aponta para um diretório. Por exemplo, o comando abaixo cria um symlink chamado symlink_directory no diretório atual, apontando para /path/to/directory: ln -s /path/to/directory /path/to/symlink_directory Esse comando cria um link simbólico chamado symlink_directory na sua localização atual, vinculando-o ao diretório /path/to/directory. Sobrescrever um link simbólico à força Você pode usar a opção -f com o comando ln. Por exemplo, se o caminho em um symlink estiver incorreto devido a um erro de digitação ou se o destino tiver sido movido, você pode atualizar o link assim: ln -sf /path/to/new-reference-dir symlink_directory Usar a opção -f garante que o conteúdo do symlink antigo seja substituído pelo novo destino. Ela também remove automaticamente quaisquer arquivos ou symlinks conflitantes. Se você tentar criar um symlink sem -f e o nome já estiver em uso, o comando falhará. Verificando links simbólicos Você pode exibir o conteúdo de um symlink usando o comando ls -l no Linux: ls -l symlink_directory A saída mostrará o symlink e seu destino: symlink_file -> /path/to/reference_file Aqui, symlink_file é o nome do link simbólico, e ele aponta para o arquivo /path/to/reference_file. ls -l /path/to/symlink A saída mostrará o symlink e seu destino. Boas práticas para links simbólicos Use nomes descritivos para os links simbólicos. Evite links circulares para prevenir confusão no sistema. Atualize os symlinks se o local de destino mudar. Casos de uso para links simbólicos Gerenciamento de arquivos de configuração: Vincular arquivos de configuração entre sistemas. Controle de versão: Vincular simbolicamente bibliotecas comuns para projetos de desenvolvimento. Backup de dados: Criar symlinks para diretórios de backup. Possíveis problemas e soluções Problemas de permissão: Certifique-se de que as permissões corretas estejam definidas para a origem e o symlink. Links quebrados: Atualize symlinks se arquivos de destino forem movidos ou excluídos. Links entre sistemas de arquivos: Symlinks podem não funcionar entre sistemas de arquivos diferentes. Conclusão Symlinks são valiosos para otimizar o gerenciamento de arquivos e a manutenção do sistema. Eles simplificam atualizações entre várias aplicações que compartilham um arquivo comum, reduzindo a complexidade de manutenção. Também oferecem uma alternativa a diretórios como /etc, que geralmente exigem acesso root para modificar arquivos. Desenvolvedores acham os symlinks úteis para alternar facilmente entre arquivos locais de teste e versões de produção. Seguindo este tutorial, você dominou o processo de criação de links simbólicos no Linux. Aproveite os symlinks para uma gestão eficiente de arquivos e maior personalização.
15 December 2025 · 6 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support