Artigos

3 de março de 2016

Servidor SSH no FreeBSD

Mais artigos de »
Escrito por: Leonardo Souza
Tags:,

Servidor SSH no FreeBSD

Antes de configurar Servidor SSH no FreeBSD vamos a uma pequena introdução:

Introdução

SSH (Secure Shell): é um protocolo de comunicação seguro  que permite o envio de comandos e o controle remoto de um host por meio de uma conexão criptografada, além de permitir acesso via interface gráfica. Ele possui uma arquitetura do tipo  cliente/servidor e está disponível para praticamento todas as plataformas, como Linux, FreeBSD, Windows, etc. Por ser um protocolo necessita de um software que o implemente.




Embora signifique Secure Shell, o SSH não é propriamente uma Shell, ou seja, um interpretador de comandos, e nem disponibiliza um histórico dos mesmos. Mas suas funcionalidades criam um canal, com encriptação entre computadores, para executar uma Shell no computador remoto.

Ele é composto basicamente por três componentes básicos Camada de transporte, protocolo de autenticação e protocolo de conexão.

Camada de transporte: responsável pelo sigilo, integridade e autenticação do servidor, implementada normalmente sobre o TCP/IP, mas é possível implementá-la em cima de qualquer outro tipo de protocolo confiável e orientado a conexão. Neste componente é feita apenas a autenticação do servidor, pois a autenticação do usuário é responsabilidade do protocolo de autenticação.

Cada seção de SSH possui chaves de seção, que são assinaturas dos dados trocados durante a conexão. É recomendável que estas chaves sejam trocadas a cada 1Gb de dados transmitidos ou de hora em hora. Esta implementação acontece neste componente, que é responsável pelo “protocolo de troca de chaves”.

Protocolo de Autenticação: responsável pela autenticação propriamente dita. Para funcionar necessita da camada de transporte. É aqui que são executados os procedimentos relativos a autenticação do usuário, lembrando que a autenticação do host acontece na camada de transporte. Este protocolo já provê integridade e sigilo na comunicação.

Protocolo de Conexão: Permite a multiplexação da conexão entre vários canais lógicos. Depende do protocolo de autenticação para funcionar e é onde estão os recursos Shell interativo, tunelamento de portas TCP/IP e conexões X11.

É através dele que é possível executar comandos remotos, abertura de Shells, tunelamento de conexões TCP/IP, conexões X11 e tudo isso por meio de um único túnel criptografado.

Histórico do projeto

O SSH foi desenvolvido em 1995 por Tatu Ylönen, pesquisador da universidade de tecnologia da Finlândia. Pouco depois Ylönen por meio de sua empresa lançou o SSH-1, em julho do mesmo ano. Em 1996 a SCS (SSH Communications Security Corp, empresa fundada pelo criador do SSH) lançou a versão SSH-2, corrigindo assim uma série de falhas de segurança da versão anterior. Por este motivo não devemos utilizar a versão 1 do SSH, já que ele possui uma série de falhas que só foram corrigidas na versão posterior.

O SSH propriamente dito é um protocolo e como tal necessita de softwares que o implementem. Existem vários softwares que o fazem, a solução livre e de código aberto e é implementada nos diversos sistemas operacionais é o OpenSSH.

OpenSSH é um conjunto de ferramentas de conectividade de rede que implementam o protocolo SSH, permitindo assim acessar um determinado computador remotamente de forma segura, bastando para isso que tanto o servidor (computador acessado), quanto o cliente (computador que acessa) possuam ele instalado e o serviço rodando.

O OpenSSH desenvolvido é pelo projeto OpenBSD e, portanto, distribuído sob uma licença BSD. Porém o projeto não é restrito ao universo BSD. Existem duas equipes  desenvolvendo em paralelo: uma desenvolve estritamente para a arquitetura BSD e a outra produz versões para os diversos outros sistemas (GNU/Linux, Unix). Dessa forma o OpenSBD se tornou a solução mais utilizada para implementar SSH em software livre.

Arquitetura do SSH

Arquitetura do SSH é composta por vários programas que auxiliam na segurança do protocolo:

SSHD: é o daemon do serviço propriamente dito. Normalmente é instalado, e administrado pelo usuário root e configurado para iniciar junto com o sistema. Por padrão escuta na porta 22.

SSH: Substituto do RSH com algumas melhorias.

SLOGIN: semelhante ao rlogin, é o responsável pela solicitação de login e confirmação de autenticação. Não é necessário passar como parâmetro no momento da conexão, ou seja, pode ser omitido.

SCP: Semelhante ao rpp, porém mais segura. Pode ser autorizada por chaves ou por senha.

SSH-KEYGEN: gerador de chaves RSA. Permite que o cliente gere o par de chaves (uma pública e outra privada), dessa forma o cliente poderá logar no servidor por meio de autenticação de chaves. Cada usuário possui suas próprias chaves, que são geradas no diretório .ssh.

SSH-AGENT: carrega chaves durante uma determinada seção, permitindo que o usuário não precise realizar autenticação novamente. Caso o usuário realize logout, será necessário carregar novamente as chaves no agente.

SFTP: Cliente FTP com suporte a comunicação segura.

SSH-ADD: Adiciona chaves de autenticação DSA ou RSA ao programa de autenticação.

SSH-COPY-ID: usado para instalação do arquivo identity.pub em uma máquina remota.

Todos os aplicativos serão melhor abortados durante este artigo. Por hora basta sabermos que o SSH é um conjunto de programas e todos trabalham em harmonia para que a conexão ocorra de forma segura.

Arquitetura do SSH proporciona as seguintes funcionalidades:

Funcionalidades

Embora a função mais conhecida do SSH seja a conexão via terminal, esta não é sua única função. Entre estas funcionalidades estão Secure command-shell, Secure File Transfer e Port Forwarding.

Secure Command-shell: é, sem dúvidas, a função mais conhecida de implementação do SSH, pois permite a execução de programas e outros comandos no computador remoto. Uma linha de comandos segura ou o login remoto permitem editar ficheiros, ver conteúdos de diretórios e acessar base de dados, entre outras tarefas. Muito útil para administradores de rede e sistemas que podem iniciar serviços, cancelar processos, alterar permissões, etc.

Secure File Tranfer (SFTP): camada do SSH que permite gerir transferência de arquivo de forma segura. É semelhante ao FTP, porém como o “S” sugere, é seguro. Isso acontece porque o SFTP encripta o “username”, “senha” e até a informação transferida, garantindo que mesmo que o pacote seja interceptado, não será possível interpretá-lo, impossibilitando assim seu uso. Como o SFTP usa a mesma porta do SSH, não é necessário abrir mais portas no firewall ou no router. Entre os softwares que utilizam estes recursos estão o FilleZilla e o WinSCP.

Port Forwarding: ferramenta poderosa do SSH que permite atribuir segurança a aplicações TCP/IP não seguras, incluindo e-mail, base de dados e aplicações. O SSH cria um túnel criptografado, por isso muitas vezes é chamado de tunneling, permitindo que a informação, até então não segura, seja transferida por meio deste túnel criptografado, tornando-se assim segura.

Uma vantagem do “tunneling” é que varias aplicações podem transferir informações através de um único túnel, reduzindo o número de ligações necessárias para comunicar com o exterior e diminuindo o consumo de banda.

Em alguns casos a linha de comando segura não é o suficiente e existe a necessidade de uma comunicação via interface gráfica, neste caso a port forwarding pode criar um túnel criptografado sobre o qual essa aplicação pode ser executada. Um exemplo de programa que utiliza este recurso é o VNC.

Segurança

A arquitetura do SSH foi projetada para proporcionar o máximo no aspecto segurança. Embora seja semelhante ao TELNET, ele possui a vantagem nesta comparação, pois possui a criptografia na conexão, o que permite um acesso mais seguro ao servidor. É possível, por exemplo, que através de um Sniffer de rede em qualquer lugar entre o cliente e o servidor alguém mal intencionado consiga capturar suas informações da conexão TELNET como senha ou dados transferidos na sua sessão, como mostramos em nosso tutorial capturando dados do Telnet, já com o SSH isso não é possível.

A segurança do SSH é possível porque ele é baseado nos pilares da segurança da informação: Autenticação, Criptografia, e Integridade.

Autenticação: especifica que para ter acesso a determinadas informações é necessário a identificação, ou seja, sabe-se a identidade de alguém de forma confiável. Sendo assim, autenticação é o meio pelo qual se confirma que o acesso é concedido apenas a determinados usuários e negado a todos os outros. Com o SSH é possível implementar métodos de autenticação através de username/password e de chaves criptografadas. Porém o SSH é tão flexível que novos métodos de autenticação podem ser incorporados no sistema, à medida que fiquem disponíveis.

Autenticação através de password: é o método pelo qual o utilizador fornece sua identidade por meio de nome de usuário e senha, confirmando ser quem diz ser. Se os dados informados forem iguais aos esperados pelo sistema, ou seja, o computador remoto, então será concedido o acesso.

Mesmo sendo um método que não requer qualquer configuração adicional, este se mostra vulnerável por permitir que qualquer pessoa que descubra o usuário e senha consiga acessar o sistema. Devido esta possibilidade é aconselhável que se combine ou substitua o usuário/senha pelo método de autenticação via chave pública.

Autenticação através de Chave Pública: é um dos métodos mais seguros de autenticação utilizado no SSH. Ele utiliza um par de chaves assimétricas geradas por um computador, uma pública e outra privada. Cada chave tem entre 1024 e 4096 bits. Além de ser utilizadas para autenticação, estas chaves podem, também, assinar informações. Uma cópia da chave precisa estar no servidor, enquanto a privada permanece no cliente, não podendo ser roubada ou “adivinhada” como acontece com uma senha.

Pode-se também configurar uma frase que funcionará junto com a chave, quer dizer que mesmo que a chave seja roubada o invasor precisará saber também a frase. Isso significa mais segurança na autenticação, pois apenas o possuidor da identidade permitida poderá acessar o sistema.

A autenticação por chave pública não confia em nenhuma informação vinda de um cliente, nem permite acesso a qualquer um, a menos que este consiga provar que possui a chave privada.

Autenticação do host: quando um host se conecta a primeira vez a um servidor, a chave host é copiada para ele, assim nos próximos acessos, o cliente poderá comparar, através da chave copiada, se o computador que está cedendo acesso, é o mesmo que acessou anteriormente. Dessa forma não será possível que um outro computador se passe pelo servidor que o cliente já acessou em outro momento, técnica muito usada em pentest, chamada de Man in the middle. Por este método o servidor comprova ser quem diz ser. Isso significa que, segundo a arquitetura do SSH, não é possível ataques MITH.

Cada computador que o cliente já acessou deixou um cópia da sua chave nele, isso quer dizer que existe uma chave para cada servidor acessado, não confundir esta chave com a chave de seção. No FreeBSD, por exemplo, é possível visualizar estas chaves no arquivo know_hosts que fica dentro do diretório /root/.ssh/know_hosts.

Para visualizar o conteúdo do arquivo use o comandos cat.

# cat /root/.ssh/know_hosts

Com este comando poderá visualizar o conteúdo do arquivo:

arquivo_know_hosts

Neste exemplo a lista de hosts conhecidos possui dois servidores, um com o IP 192.168.25.89 e o 10.0.0.31. Isso significa que se tentar acessar computadores com estes Ips e eles não possuírem as respectivas chaves, o acesso será negado, pois significa que não são os que acessaram anteriormente o servidor. Para que consiga acessar os computadores neste cenário, será necessário excluir as chaves deste arquivo.

Este método impede o tipo de ataque chamado “Man-in-the-middle” que seria basicamente se passar por um servidor que o cliente está tentando acessar.

Criptografia: Os dados são transformados em códigos, ou se preferir eles são “embaralhados” de tal forma que se tornam indecifráveis para todos exceto o destinatário. O SSH utiliza o mecanismo de Cifras para encriptar e decriptar a informação enviada. Neste momento a informação criptografada só pode ser revertida através da chave privada. Para que a conexão seja estabelecida é necessário que os dois utilizem a mesma cifra, por isso o servidor apresenta, normalmente, uma lista das cifras suportadas e o cliente escolhe a primeira da sua lista que coincida com uma lista do servidor.

No momento que o host é autenticado, e antes do usuário realizar a autenticação, o servidor e o cliente geram aleatoriamente as chaves de seção e que são utilizadas durante a conexão, substituídas de forma periódica e destruídas na sua conclusão. Isso significa que tanto o servidor quanto o cliente trocam chaves de seção durante a conexão e esta troca só termina com o fim da conexão.

Integridade: garantia de que os dados transferidos cheguem sem qualquer alteração. Essa característica está diretamente relacionada arquitetura SSH desde o princípio, ou seja, foi implementada desde as primeiras versões.

Configuração SSH

A configuração SSH no FreeBSD é muito simples, não precisamos nem instalar o OpenSSH, pois ele é nativo no FreeBSD desde a versão 4.0. Precisamos apenas realizar as configurações, para tal iremos configurar o arquivo sshd_config que fica no  diretório /etc/ssh.

Edite o arquivo com o seu editor de texto preferido. O editor default do FreeBSD é o ee (easy editor). Sendo assim digite no console:

Este comando abrirá o arquivo sshd_config:

Vamos checar as configurações básicas para o OpenSSH funcionar:

Protocol: se refere a versão do protocolo que deseja utilizar através do OpenSSH. Lembre que a versão atual é a 2. A primeira versão foi atualizada até a 1.5, porém existiam muitas vulnerabilidades que só foram corrigidas na versão 2. Portanto configure sempre o SSH para utilizar o protocolo 2.

Port: Especifica a porta que o OpenSSH vai utilizar para implementar o SSH. isso significa que o daemon fica “escutando” nesta porta para atender solicitações de conexão sempre que os parâmetros (usuário, senha, chave, etc.) forem atendidos.

Por padrão o SSH utiliza a porta 22, porém é possível alterá-la.

Caso utilize uma porta diferente , esta deverá ser informada ao realizar solicitação de conexão.

Configurações do Servidor

Vemos abaixo as principais opções de configuração SSH no servidor:

ListenAddress: Esta opção permite limitar o IP da  interfaces que iremos liberar para ser acessada via SSH. Muito útil, pois geralmente temos uma interface conectada na internet e outra na rede local. Neste modelo proibimos o acesso via SSH pela interface da internet e liberamos o acesso via rede interna.

AllowUsers: este parâmetro deve ser utilizado caso deseje limitar o acesso SSH para usuários específicos. Se desejar liberar para mais de um usuário, deverá separá-los com espaços. Neste exemplo limitei o acesso para o usuário “leo”.

PermitRootLogin: nesta opção é possível especificar se o usuário root poderá acessar via SSH. Escolha “yes” ou “no”. Uma boa prática é bloquear o acesso do root.

DenyUsers: Neste parâmetro é possível bloquear acesso para usuários específicos. Assim todos os usuários poderão logar via SSH, menos os informados nele.

PermitEmptyPasswords: Esta opção permite, ou não, acesso para contas que não possuem senha. Utilize a opção “no” e todas as contas que não possuem senha serão bloqueadas para acesso via SSH.

PermitEmptyPasswords no

Banner: esta opção permite mostrar uma mensagem no momento que a conexão é estabelecida. Pode-se, por exemplo, deixar uma mensagem de boas vindas, basta apenas que insira a mensagem num aquivo e informe o arquivo neste parâmetro. Preencha o arquivo com a mensagem e informe o caminho como parâmetro.

Banner = /etc/ssh/banner

Para concluir a configuração basta salvar as alterações no arquivo e fechá-lo, no caso de estar usando o “ee” pressione a tecla “Esc” e selecione “leave editor” e logo depois “save changes”.

Configurações do Cliente

Para configurar o cliente devemos acessar o arquivo ssh_config que também pertence ao diretório /etc/ssh. Utilize o editor de texto de sua preferência.  Como explicado antes o editor padrão do FreeBSD é o “ee”.

Vemos abaixo as principais opções de configuração SSH no cliente:

Compression: esta opção ativa a compressão de dados via gzip, o que reduz o consumo de banda.

Compression = yes

ServerAliveInterval: configurando esta opção o cliente enviará um pacote de dados para o servidor, de tempos em tempos, configurado em segundos, evitando que a conexão seja interrompida por inatividade.

ServerAliveInterval 120

Port: configura a porta utilizada pelo cliente para conectar no servidor.

Port 22

Host: Esta opção é muito interessante e permite substituir os parâmetros por um alias (apelido). Normalmente quando conectamos no servidor precisamos informar o usuário, o computador, nome do host ou IP e a porta, caso esta seja diferente da default. Ex: ssh leonardo@192.168.25.250

Esta opção permite configurar um nome de host e acessar via SSH por meio deste nome, desde que todos os dados necessários para a conexão estejam informados no arquivo.

Host servidor

HostName 192.168.25.89
Port 22
User leonardo

Para concluir a configuração basta salvar as alterações no arquivo e fechá-lo, no caso de estar usando o “ee” pressione a tecla “Esc” e selecione “leave editor” e logo depois “save changes”.

Para se conectar use “$ ssh servidor”.

Gerenciando o Daemon

Como todo serviço, o daemon do SSH pode ser iniciado, parado e restartado via comandos:

Iniciando o SSHD

# /etc/rc.d/sshd start ou service sshd start

Parando o serviço:

# /etc/rc.d/sshd stop ou service sshd stop

Reiniciando o SSHD:

# /etc/rc.d/sshd restart ou service sshd restart

Verificando o status do serviço

# /etc/rc.d/sshd status ou service sshd status

Configurando o SSHD para iniciar com o FreeBSD:

No FreeBSD o SSHD já inicia com o sistema, mas se desejar checar esta configuração basta abrir o arquivo rc.conf que está dentro de /etc:

# ee /etc/rc.conf

sshd_enable=”YES”

Acessando o servidor SSH

Caso todas as configurações estejam corretas basta reiniciar o serviço e usar o seguinte comando para acessá-lo. Digite no terminal ssh –p [numero_da_porta] usuário@host

Ex: # ssh -p 2222 leonardo@servidor

Informamos primeiro o comando ssh, seguido do “–p” parâmetro indicando que vamos informar a porta, usuário seguido do “@” e o host que desejamos acessar.

No caso de utilizar a porta default (22), esta poderá ser omitida.

Caso utilize a opção Host do arquivo de configuração do cliente (/etc/ssh/ssh_config), poderá usar o nome de host informado. Ex: # ssh servidor.

Com o que foi explicado até aqui, a configuração SSH já estará disponível, porém existem outras configurações possíveis e que garantem uma maior segurança neste acesso. É o que veremos agora.

Chaves criptografadas SSH

Conexão via chaves criptografadas SSH: Como explicado antes é possível configurar uma senha para o acesso SSH, porém pode-se realizar esta configuração por meio de chaves criptografadas. Dessa forma o cliente cria um par de chaves (uma pública e outra privada), envia a pública para o servidor e no momento de estabelecer a conexão elas são comparadas e caso correspondam uma a outra a conexão será estabelecida.

Nestes moldes o cliente solicita a conexão e o servidor exige que ele se identifique. O cliente, então gera e envia um autenticador usando sua chave privada e envia para o servidor, que possui a chave pública para decifrar o autenticador. Ao receber o autenticador o servidor confirma a autenticidade do usuário que está tentando conectar e caso positivo a conexão será liberada.

Este é o primeiro método de autenticação tentado pelo servidor, quando não encontra nenhuma chave, a senha será solicitada.

Gerando chaves: primeiro passo para se utilizar a autenticação via chave é criar estas chaves no cliente.

Para autenticar via chave vamos criar primeiro as chaves no host cliente. Por padrão elas são criadas no diretório ~/.ssh. O “~/” é uma referência ao diretório /home do usuário.

Para criar as chaves criptografadas SSH digite o seguinte comando:

# ssh-keygen -t dsa

O sistema vai pedir que informe o arquivo que deseja gerar estas chaves, caso não informe nenhum, elas serão geradas no arquivo /root/.ssh/id_dsa.

Pressione ENTER para usarmos os parâmetros default.

Será solicitada uma frase para proteger a chave, esta será solicitada no momento que solicitar a conexão. Caso deseje realizar um acesso apenas por meio de chave pública, basta não digitar frase alguma neste momento. Pressione ENTER, surgirá a mensagem de confirmação, indicando que as chaves foram geradas.

Caso deseje visualizar os arquivos gerados acesse /root/.ssh e utilize o comando ls. Confirme a existência dos arquivos id_dsa e o id_dsa.pub.

Agora precisamos copiar a chave pública criada para o servidor. Utilizaremos um utilitário do SSH o SCP (copia segura). Digite o comando:

#scp id_dsa.pub usuario@host

Este comando copia a chave para o diretório home do usuário que foi especificado. Surgirá uma mensagem de confirmação. Caso deseje visualizar a chave copiada, acesso o diretório /home do usuário que realizou a cópia e digite o comando “ls”. Poderá ver o arquivo id_dsa.pub.

Agora vamos copiar a chave publica para o arquivo ~/.ssh/authorized_keys. Digite:

# cat id_dsa.pub >> ~/.ssh/authorized_keys

Este comando pega o conteúdo da chave e “escreve” dentro do arquivo authorized_keys, desta forma a chave está autorizada para ser usada no acesso SSH.

Apartir deste momento para toda tentativa de acesso será solicitada a frase configurada juntamente com a chave. Isso significa que o SSH percebe que há uma chave e solicita a frase associada a ela. Caso a frase seja informada corretamente o acesso é permitido.

O OpenSSh possui um aplicativo chamado ssh-copy-id que instala automaticamente uma chave pública e registra em um servidor remoto com o seguinte comando:

# ssh-copy-id -i i

SSH Agent

As chaves criptografadas SSH normalmente exigem senhas para liberar acesso, porém existe um recurso que permite acessar o servidor sem ter que digitar a frase todas as vezes é o agent. Muito útil quando se conecta com frequência em determinado servidor. Ele utiliza um permitindo que a frase digitada a primeira vez seja carregada no agente e assim nos próximos acessos, ele é que informará a frase para o servidor. Este recurso funciona até que finalize a seção do usuário logado.

Para usar este recurso digite:

# ssh-agent $SHELL

Informamos a variável de ambiente “SHELL”. Logo depois digitamos:

# ssh-add

Este comando carrega as chaves existentes no agente.

Será solicitada a frase, confirme-a.

Para confirmar se a chave foi carregada, poderá visualizar a chave digitando:

# ssh-add -l

A partir deste momento poderá acessar o servidor sem ter que digitar a frase. Este agente está carregado no memoria, isso significa que ao realizar logout do usuário na máquina cliente ou, por exemplo, reiniciar a máquina ele não estará mais ativo.

Caso deseje apagar uma chave de agente da memória digite:

# ssh-add -d nome_da_chave

Caso deseje apagar todas as chaves do agente digite:

# ssh-add –D

Transferindo arquivos com o SCP

Outra funcionalidade interessante do SSH está presente no SCP, programa que permite transferir arquivos entre servidor e cliente de forma segura. Embora seja muito parecido com o CP, ele é muito mais seguro por ter toda a seção criptografada.

Veremos 5 funções básicas do SCP: transferência de arquivo do servidor para o cliente, transferência de arquivo do cliente para o servidor, transferência de diretório do cliente para o servidor, do servidor para o cliente e por último veremos como comprimir arquivos antes de enviar para diminuir o consumo de banda.

1 – Copiando arquivos do servidor para o cliente: começaremos criando um diretório no home do usuário:

# mkdir /home/leonardo/cliente

Agora vamos criar um arquivo dentro deste diretório:

# ee /home/leonardo/cliente/texto

Este comando abrirá um novo arquivo de texto com o editor “ee”. Basta escrever algo e salvá-lo.

Agora, acessando o cliente, vamos copiar o arquivo para o diretório /home do usuário do servidor:

A sintaxe correta é: scp arquivo usuario@servidor:caminho

No nosso exemplo ficou assim:

# scp /home/leonardo/cliente/texto leonardo@192.168.1.100:/home/leonardo

Esta é a forma básica de se copiar arquivos do cliente para o servidor.

2 – Copiando arquivos do servidor para o cliente: vamos também criar um diretório, chamado “Servidor”, dentro do /home do usuário leonardo e dentro deste criar um arquivo chamado “texto1”.

# mkdir /home/leonardo/Servidor

Agora criaremos um arquivo chamado texto1:

# ee /home/leonardo/Servidor/texto1

Este comando abrirá um novo arquivo de texto com o editor “ee”. Basta escrever algo e salvá-lo.

Agora, acessando o cliente copiaremos este arquivo do servidor para ele:

A sintaxe correta é: scp usuário@servidor:caminho_do_arquivo/arquivo /caminho_para_salvar

# scp leonardo@192.168.25.89:/home/leonardo/Servidor/texto /home/leonardo

Desta forma copiamos arquivo do servidor para o cliente. Lembrando que esta copia foi realizada acessando o cliente.

3 – Copiar diretórios: para transferir diretórios do servidor para o cliente, ou o inverso, basta utilizar o parâmetro “–r” no comando SCP, ou seja, o procedimento é o mesmo, porém acrescentamos o “–r”.

Transferindo diretório do cliente para o servidor:

A sintaxe correta é: scp –r diretorio usuario@servidor:/caminho

#

scp –r /home/leonardo/cliente leonardo@192.168.1.100:/home/leonardo

Transferindo diretório do servidor para o cliente.

# scp –r leonardo@192.168.25.89:/home/leonardo/Servidor/texto1 /home/leonardo

Como visto, para transferir um dirtório devemos, basicamente, incluir o parâmetro –r ao comando SCP.

4 – O SSH permite comprimir os dados enviados de um host para outro, para isso basta inserir o parâmetro “–C” ao comando SCP.

A sintaxe correta é: scp -C arquivo usuario@servidor:/caminho/

Ex. # scp –C leonardo@192.168.25.89:/home/leonardo/Servidor/texto /home/leonardo

Dessa forma abordamos a sintaxe do comando SCP, porém existe muito mais conteúdo a ser abordado por ele.

Conclusão:

Como vimos o SSH é uma solução para administradores de rede preocupados com segurança. A cada dia que passa a segurança de redes se torna um tema mais atual e necessário, pois uma simples vulnerabilidade pode resultar em prejuízos gigantescos. Vemos que configurar um Servidor SSH no FreeBSD é muito simples.

Recomendamos o uso do SSH não só para acesso via terminal, mas também para transferências de arquivos na rede. Existem vários clientes SSH que podem ser utilizados para este fim.

Esperamos que este artigo tenha sido útil, caso existam dúvidas, pergunte nos comentários e quando possível responderemos.






Sobre o Autor

Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.