Cópias seguras em Linux
Um 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]
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)
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.
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".
Este artigo tem mais de um ano
cp ficheiroFonte utilizador@host:diretório/ficheiroAlvo
directório – leva um C antes do T
apaguem depois de correccao
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
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.
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?
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
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.
@ 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
Mais um adepto do Putty 😉
Empregos Aveiro