Páginas

20 de abr. de 2008

Transferir arquivos via scp

Transferência de arquivos ou administração remota por scp,ssh respectivamente

Para uma máquina linux ser acessada remotamente devemos:

  1. Verificar se o ssh está instalado(geralmente no linux vem instalado por padrão)
  2. Verificar se o openssh-server está instalado
  3. Verificar se a porta 22(padrão do ssh) está desbloqueada
  4. Nas máquinas com windows instalar simplesmente o winscp: http://winscp.net/eng/index.php
  5. Acessar o terminal da máquina linux remotamente instale também o programa livre putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).
  6. Rodar aplicativos gráficos remotamente da máquina windows vc pode instalar o programa Xming (http://sourceforge.net/projects/xming).
  7. Impressão remota de linux para windows ou de linux para linux usa-se o cups e/ou o samba.Não tem nada a ver com ssh

SCP - Secure Copy. É o meio mais seguro para transferir arquivos entre um host local e um remoto ou entre dois hosts remotos, usando o protocolo SSH.

Exemplos:

a) Por exemplo, digamos que queremos copiar o arquivo sources,list, que se encontra em uma máquina local,para uma outra máquina da rede chamada pc10, dentro do diretório /Download, faríamos assim:

scp /etc/apt/sources.list root@pc10:/Download

Vai ser solicitada a senha do usuário root da máquina pc10, e automaticamente após digitar a senha, a transferência se completará. Simples assim.No lugar do root pode ser qualquer outro usuário.

b) Se fizermos assim:

scp arquivo usuario@ip_ou_nome_da_maquina_remota:

- Vai copiar o arquivo para o diretório home do usuário na máquina remota;
- Não esqueça dos “:” no final;
- No nome do arquivo você pode utilizar “*”, expressões regulares, etc…

Útil caso você queira simplesmente enviar um arquivo diretamente para o computador de um amigo que está em outra cidade.

Apoś os dois pontos pode-se indicar uma pasta de destino,atenção para colocar o caminho completo até a pasta.

c) Caso você precise copiar um diretório inteiro, use o “-r”:

scp -r diretório usuario@ip_ou_nome_da_maquina_remota:

- O “-r” tem que ficar logo após o scp para funcionar.

d) No sentido contrário (remoto para local) é só inverter:

scp usuario@ip_ou_nome_da_maquina_remota:arquivo

- Copia o arquivo da máquina remota para o diretório local. Aqui também
vale lembrar que o usuário precisa ter direito de leitura neste arquivo da máquina destino.

IMPORTANTE: o scp não avisa se o arquivo já existir no destino.
Simplesmente sobreescreve. Atenção !

6 comentários:

  1. Como devo proceder se usar uma porta não convencional.

    Utilizei o -P XXX mas não dá erro, não pede senha e também não copia nada...


    :(


    Grato.

    ResponderExcluir
  2. Amigo, tenta isso que dá certo:

    scp -P porta root@ipserver:/diretorio/arquivo /destinomaquina/diretorio

    scp -r -P porta root@ipserver:/diretorio /destinomaquina/diretorio

    Ulisses Felippe Féres Abrantes Cerqueira

    ResponderExcluir
  3. Se a porta não for padrão, faça assim:
    Para enviar um arquivo para outro linux, entre no diretorio que está o arquivo e digite
    scp -P porta nome-arquivo root@ip-destino:/diretorio de destino...vai pedir senha então digite a da maquina de destino...

    ResponderExcluir
  4. exemplificando:

    sudo scp -P77 -prvC arquivo maquina_destino@ip_destino

    Esses argumentos (-prvC) irá compactar e manter a data de criação do arquivo. Dá uma lida em artigos do scp e vc vai entender. Boa sorte

    ResponderExcluir
  5. como faço para conseguir o log do backup

    ResponderExcluir
  6. Olá Bruno,

    Tenta utilizar o comando logger, no terminal digite "man logger" para saber mais.

    Tem um tutorial legal aqui >> http://sejalivre.org/backup-simples-e-eficiente-com-scp/

    Boa sorte.

    ResponderExcluir