Cópias seguras em Linux

8 Comentários

tux-wicked.jpgUm método usado para acesso e transmissão de dados de forma segura entre servidores linux é o protocolo SSH.

Este protocolo é basicamente uma versão [muito] melhorada do telnet, tendo sido dado enfoque à segurança da transmissão dos dados entre o ponto de acesso e o servidor remoto.

De forma muito resumida, este protocolo explica-se do seguinte modo. A ligação entre o ponto de acesso (PC de onde acedemos via SSH) e o servidor remoto (Servidor onde pretendemos aceder) é estabelecida e em cima desta é criado um túnel seguro, onde os dados passam encriptados, garantindo assim a confidencialidade e segurança dos dados.

Na maioria dos casos o SSH é usado para acesso remoto a servidores, dando-nos a possibilidade de interagir com a máquina remota, como se estivéssemos em frente ao monitor/teclado desta. No entanto, e naturalmente, sem termos a parte gráfica do sistema operativo.


Outro modo de utilização do SSH é a possibilidade de efectuarmos ligações de FTP em modo seguro, o que se chama SCP (Secure Copy). Mais uma vez é estabelecido um túnel seguro entre as duas “pontas” da ligação e os dados passam cifrados.

O que vamos explicar hoje é o modo como podem fazer estas cópias de ficheiros em modo seguro, entre 2 PC’s que têm como sistema operativo Linux. Caso pretendam usar esta funcionalidade em Windows, usando o modo gráfico podem usar o WinSCP ou o Filezila. Em modo de linha de comando em Windows (DOS) podem usar o Putty PSCP. Os comandos apresentados.

O comando é extremamente simples e é composto do seguinte elementos:

scp [parametros] [origem] [destino]

scp1.jpg

De salientar que tanto podem estar no servidor de origem como no servidor de destino para iniciar o processo de cópia.

Assim, e caso tenham acedido ao servidor de origem, o comando deve ser o seguinte:

scp ficheiroFonte utilizador@host:directorio/ficheiroAlvo

Caso estejam no servidor de destino o comando é o seguinte:

scp utilizador@host:directorio/FicheiroFonte FicheiroAlvo

Exemplo prático:

scp o_post_do_ano.txt root@pplware.com:/posts/

Este comando copia o ficheiro “o_post_do_ano.txt” para a pasta /posts/ (localizada na raiz do disco) do servidor pplware.com (usando o utilizador root)

scp2.jpg

scp root@pplware.com:/posts/o_post_do_ano.txt .

Este comando copia o ficheiro “o_post_do_ano.txt” localizado na pasta /posts/ (localizada na raiz do disco) do servidor pplware.com (usando o utilizador root) para a localização onde o comando foi invocado no servidor onde nos encontramos.

scp3.jpg

Só falta mesmo mostrar-vos o comando que nos permite copiar ficheiros entre 2 servidores, estando nos num servidor intermédio:

scp root@servidor1.pplware.com:/posts/o_post_do_ano.txt
root@servidor2.pplware.com:/posts/

Existem inúmeros parâmetros que podem ser incluídos, mas salientamos o seguinte devido à sua utilidade.

Esse parâmetro (ou flag) é o -r, que nos permite copiar todos os ficheiros e directorias que se encontram dentro da directoria em que nos encontramos ou que pretendemos copiar.

Exemplo:

scp -r /posts root@pplware.com:/posts/

Apenas de notar que o scp não comunica ao utilizador que vai sobrepor o ficheiro e em caso de já existir um ficheiro igual no local para onde estamos a copiar este vai ser “esmagado”.

Partilhar:
Tags:

Comentários

8

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de mushi
    mushi

    cp ficheiroFonte utilizador@host:diretório/ficheiroAlvo

    directório – leva um C antes do T

    apaguem depois de correccao

  2. Avatar de zedex
    zedex

    boas =D

    uma aplicaçao q permite uma utilizaçao deste protocoli em ambiente windows é o “putty” (freeware) muito bom mesmo =D

    cumps!

    BOm fim de semana :DD

  3. Avatar de nfu
    nfu

    Viva. Não querendo “tomar conta” deste post, queria apenas informar (uma vez que tem mesmo MUITO a ver com segurança), que o TrueCrypt (www.truecrypt.org) teve um gigantesco update para a versao 5.0

    Entre as novidades, temos:

    Capacidade que encriptar a própria drive de arranque do sistema operativo (Windows, por exemplo), permitindo encriptar a TOTALIDADE da informação. Esta é a mais recente alteração que toda a gente pretendia.

    Velocidade de (des)/encriptação muito melhorada, em Windows.

    Versão MAC OS X

    Melhoramentos importantes na versão Linux.

    Abraços.

  4. Avatar de Rui Melo
    Rui Melo

    e como fazer para usar o scp entre duas maquinas domesticas ligadas à net pelos ISP’s nacionais? ha o problema de saber os hostname, das portas estarem abertas, etc… alguem à vontade para falar disso?

  5. Avatar de Pedro Silva
    Pedro Silva

    Bem, não querendo ser crítico, não se diz encriptar ou desencriptar, mas sim cifrar ou decifrar.

    Quanto ao pormenor de o SSH não permitir acesso a aplicações gráficas está errado.

    Se o servidor a aceder for um Linux, podemos executar aplicações gráficas desse servidor. Basta, para isso, fazer o forwarding da componente gráfica para onde nós quisermos. Claro que o mais óbvio é para a nossa máquina.

    Para isso basta executar
    ssh -X username@host

    Assim, o ssh faz forwarding do X Window para o localhost:0, onde localhost é a nossa máquina e o 0 a instância do servidor X Window.

    Se nós estivermos a aceder a partir de um sistema operativo, e claro em ambiente gráfico, já com servidor X Window, como o GNU/Linux, então não precisamos de instalar mais nenhum software adicional. A aplicação irá correr quase como se fosse local. Um pequeno atraso de vez em quando será normal.

    Se não for o GNU/Linux mas outro, como por exemplo MS Windows, então podemos instalar um software que é um “port” do servidor X Window para MS Windos, cujo nome é Xming e é gratuito. Podemos encontrar este software em http://sourceforge.net/projects/xming

    Penso que para Mac OS X também existe um “port” mas este já não é gratuito.

    Cumps

    Pedro

  6. Avatar de Pedro Silva
    Pedro Silva

    Só mais um pormenor.

    Em continuação do post anterior, se estivermos em MS Windows podemos usar o puTTY

    A opção de X11 Forwarding econtra-se em Connections->SSH->Tunnels e activem a Checkbox Enable X11 Forwarding.

    Além deste tipo de túnel, o ssh também permite criar túneis entre quaisquer portas do servidor e a nossa máquina ( ou outra máquina qualquer), ou seja, fazer Port Forwarding.

    É tudo.

    cumps

    Pedro.

  7. Avatar de Miguel
    Miguel

    @ Rui Melo

    Não interessa qual o ISP que serve as máquinas, desde que sejam acessíveis através de um IP público.

    Há duas situações possíveis:

    A) A máquina servidor reside numa LAN e tem um endereço privado: é necessário configurar uma directiva NAT estática no router que serve essa LAN (assumindo que este se liga directamente à Internet) para que todos os pedidos do exterior seja encaminhados para o IP:porto da máquina servidor. Do ponto de vista dos clientes, é como se o servidor fosse o próprio router!

    B) A máquina servidor tem um endereço IP público: basta ter o OpenSSH (ou equivalente) a correr num determinado porto.

    Em ambas as situações os clientes apontam para o IP público. Ainda a respeito dos clientes, tanto faz se estes estão ou não numa LAN, já que o router deverá dinamicamente tratar de criar uma entrada NAT que acomode a comunicação.

    Quanto à necessidade de saber o IP, a menos que tenha um IP fixo, necessitará de um serviço DNS dinâmico. A grande maioria dos routers domésticos têm essa possibilidade. Aqui ficam dois: http://www.no-ip.com, http://www.dyndns.com