Como usar o comando scp

Como usar o comando scp
No Linux, a cópia de arquivos no sistema local é tratada pelo comando cp. Quando se trata de copiar arquivos sobre sistemas remotos, o comando scp é o caminho a seguir. O comando SCP aproveita o protocolo SSH para copiar arquivos entre dois locais.

Neste guia, confira como usar o comando scp no Linux.

Comando Linux SCP

O comando SCP vem pré-instalado em todas as distritos Linux. Não há necessidade de instalação de pacote adicional.

Trabalhar com SCP exige que o SSH seja instalado nas máquinas locais e remotas. A própria ferramenta SCP usa SSH no núcleo. É refletido durante todo o uso de SCP. A sintaxe e o uso são bastante semelhantes a trabalhar com SSH. Se você tem experiência anterior com o SSH, o SCP será mais fácil de entender. Aqui está um guia rápido sobre como usar o SSH.

Semelhante ao SSH, o comando SCP se conectará a uma determinada conta de usuário no sistema remoto. Você precisa conhecer o nome de usuário e a senha da conta de usuário. Observe que a conta de usuário remoto também deve ter permissão de arquivo para o diretório de destino (no sistema remoto). Aqui está um guia detalhado sobre permissões e propriedade de arquivos Linux.

A transferência de dados com SCP é criptografada, portanto, não há necessidade de temer o roubo de dados.

Usando SCP

Estrutura de comando básico:

Todos os comandos SCP geralmente seguem a seguinte estrutura de comando. Aqui, copiaremos um arquivo da máquina local para a máquina remota.

$ scp : @: & ltremote_directory>

Aqui está um rápido colapso da estrutura de comando.

  • : Vários parâmetros SCP que definem o comportamento do SCP, por exemplo, porta SSH, configuração SSH, cifra, cópia recursiva, etc.
  • :: Semelhante ao comando Linux CP, é a "fonte". Ele define o arquivo de origem/diretório para copiar para o local de destino.
    Se "" não for fornecido, o SCP assume automaticamente que é o nome de usuário local na máquina local.
  • @:: semelhante ao comando cp, é o "destino". A estrutura é semelhante à que você entraria ao se conectar a um sistema remoto via SSH.
    Se "" não for fornecido, o SCP assume automaticamente que é o nome de usuário local na máquina local.

Copiar um arquivo local para um diretório remoto

Aqui está um arquivo de texto fictício. É um arquivo de texto de 2 MB contendo texto repetitivo.

$ gat manequim.TXT

O comando SCP a seguir copiará o arquivo de texto para a máquina remota. Use a bandeira "-v" para saída detalhada.

$ scp -v/home/viktor/desktop/manequim.cloudsigma [email protected]:/home/cloudsigma

Se você deseja salvar o arquivo com um nome diferente, deve especificar o nome do arquivo no destino. Por exemplo, o seguinte comando salvará “manequim.txt "como" renomeado-dummy.txt ”na máquina remota.

$ SCP/Home/Viktor/Desktop/Dummy.cloudsigma [email protected]:/home/cloudsigma/renomeado.TXT

Copiando um arquivo remoto para a máquina local

O comando SCP também pode copiar um arquivo remoto para um diretório local.

Para demonstração, “manequim.txt ”é armazenado em uma máquina remota. Para copiá -lo localmente, use o seguinte comando.

$ scp [email protected]:/home/cloudsigma/manequim.txt/home/viktor/

Para salvar o arquivo com um nome de arquivo diferente, especifique o nome do arquivo no comando.

$ scp [email protected]:/home/cloudsigma/manequim.txt/home/viktor/dummy-local.TXT

Copie arquivos entre máquinas remotas

Como a estrutura de comando do SCP sugere, também é possível copiar arquivos entre servidores remotos. Tudo o que você precisa fazer é descrever a fonte e o destino de acordo.

Por exemplo, vamos copiar o arquivo "fictício.txt ”de uma máquina remota para outra.

$ scp -v [email protected]:/home/cloudsigma/manequim.cloudsigma [email protected]:/home/cloudsigma/dummy-copy.TXT

Copiando vários arquivos

E se você quisesse copiar vários arquivos? Dependendo da localização da fonte, o comando pode ficar muito grande.

No exemplo seguinte, vamos copiar Dummy_1.txt, Dummy_2.txt e dummy_3.txt para a máquina remota.

$ SCP Dummy_1.TXT DUMMY_2.TXT Dummy_3.cloudsigma [email protected]:/home/cloudsigma

Se o nome do arquivo seguir um certo padrão, podemos descrever o padrão para escolher o (s) arquivo (s) de origem (s). Neste exemplo, podemos usar o curinga (*) para copiar todos os arquivos de texto.

$ SCP Dummy_*.cloudsigma [email protected]:/home/cloudsigma

Aumentando a velocidade de transferência de arquivos usando compactação

O comando SCP troca tráfego por meio de uma rede. É a largura de banda da rede que determina a velocidade de transferência de arquivos. No entanto, dada uma largura de banda fixa, é possível aumentar a velocidade efetiva de transferência de arquivo usando compactação. A ferramenta SCP possui um recurso embutido.

O único é que os dados são compactados apenas na rede. Quando o arquivo chega ao destino, ele retorna ao tamanho original.

Para ativar a compactação, use a bandeira "-C".

$ SCP -C Dummy_*.cloudsigma [email protected]:/home/cloudsigma/

Algoritmo de criptografia

Como mencionado anteriormente, o SCP criptografa a transferência de dados para evitar roubo de dados. Por padrão, os dados são criptografados usando a criptografia AES-128. É possível usar cifra diferente para criptografia.

Para a cifra, o SCP usa SSH. O seguinte comando ssh listará todas as cifras suportadas. Todos eles são válidos para SCP também.

$ ssh -q cifra

Por exemplo, o comando SCP a seguir usará o algoritmo AES256-CTR para criptografia de arquivo.

$ SCP -C -C AES256 -CTR DUMMY_*.cloudsigma [email protected]:/home/cloudsigma/

Limitação da largura de banda

Por padrão, o SCP usará a largura de banda máxima disponível para copiar arquivos. No entanto, pode ser problemático em várias situações. Por exemplo, usando um script automatizado para backup.

Para limitar a largura de banda, use a bandeira "-l" seguida pelo limite de largura de banda. Aqui, o valor limite da largura de banda será em Kilobits/s (KBPS).

$ scp -c -l 800 manequim.cloudsigma [email protected]:/Home/Cloudsigma/Dummy Remote.TXT

Especificação da porta

Semelhante ao SSH, o SCP usará a porta 22 por padrão. No entanto, se o ssh estiver configurado para operar em uma porta diferente, ele precisa ser declarado no comando.

Para especificar a porta específica, use o sinalizador “-p” seguido pelo número da porta.

$ scp -c -p 1234 manequim.cloudsigma [email protected]:/Home/Cloudsigma/Dummy Remote.TXT

Copiando diretório recursivamente

Semelhante ao comando cp, para copiar um diretório e todos os subdiretos/arquivos nele, use o sinalizador "-r". Se o diretório contiver muitos arquivos/pastas, é recomendável usar a compactação para transferência de dados mais rápida.

Aqui está um diretório de demonstração com arquivos e diretórios fictícios.

$ Tree Dummy

O comando a seguir copiará este diretório para o local remoto.

$ scp -c -r boneco/ [email protected]:/home/cloudsigma

Desativando o medidor de progresso e mensagens de aviso

O comportamento padrão do SCP é relatar o progresso da operação e as mensagens de aviso/diagnóstico na tela. No entanto, é possível desativar todas essas informações de saída. É útil se você estiver implementando o SCP em um script.

Para desativar as mensagens de progressão e aviso/diagnóstico, use a bandeira “-q”.

$ scp -c -q boneco.cloudsigma [email protected]:/Home/Cloudsigma/Dummy Remote.TXT

Conclusão:

Usar o comando scp é muito simples. Tudo que você precisa é ter um entendimento e experiência adequados usando SSH. Estes são apenas alguns dos métodos mais básicos de usar SCP. Para obter informações mais detalhadas sobre o SCP, consulte a página do homem.

$ man scp

Computação feliz!