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”.