SSH Shell
Por: dpoki.rs • 17/9/2015 • Trabalho acadêmico • 914 Palavras (4 Páginas) • 398 Visualizações
Introdução
No universo tecnológico em que vivemos atualmente, necessitamos cada vez mais de ferramentas que facilitem a administração de servidores, estando eles próximos ou fisicamente longe. Diante da necessidade de romper a distancia que dificulta a administração destes servidores, faz-se preciso o uso de ferramentas que nos permitam executar as rotinas administrativas e manutenções necessárias de forma segura e ágil, sem a necessidade de locomoção até o ambiente físico dos servidores.
Para sanar tais dificuldades, surge o uso do SSH, uma ferramenta de acesso remoto que permite, de qualquer lugar da rede, estando próximo ou não, a comunicação com o servidor afim de realizar as operações administrativas necessárias remotamente.
1. O SSH (Secure Shell)
O SSH não passa de um serviço parecido com telnet e ftp, a única diferença entre eles está na segurança. O SSH envia dados criptografados e dependendo da sua configuração, pode implantar autenticação de chaves, por isso ele se torna uma ótima opção em relação aos outros que enviam dados em texto puro, dificultando facilitando ataque de spoofing e snifers.
A segurança do acesso, realizado através de túnel, é garantida pelo uso de chaves privadas/publicas. O par de chaves RSA e DSA e a sua criptografia fica restrita a 2048 bits como padrão, que se torna algo impossivel de ser quebrado, caso seja utilizado conexões pareadas pelas chaves.
O SSH está disponível em todas as versões do UNIX e em toda distribuição do Linux. Este serviço é constituído de um protocolo (servidor) e um utilitário (cliente).
Muitos confundem o comando SSH com o serviço propriamente dito. O fato de você ter o comando SSH não significa que você tem o servidor SSH ativo.
As configurações do servidor estão localizadas no arquivo /etc/ssh/sshd_config já as configurações do cliente e utiilitário SSH encontram-se em /etc/ssh/ssh_config.
1.1 Conceito SSHD
O SSHD trata-se do daemon (serviço) do SSH do lado do servidor. Suas configurações são realizadas através do arquivo /etc/ssh/sshd_config
1.2 Conceito SSH
A daemon SSH propriamente dita, refere-se ao SSH para o cliente. Suas configurações estão disponíveis em /etc/ssh/ssh_config.
2. Conceito de chave pública e chave privada (usadas na parte prática)
O SSH utiliza a criptografia assimétrica (ou de chave pública, ou de chaves assimétricas), Este método avançado permite que cada máquina (ou pessoa) divulgue abertamente uma de suas chaves (a pública) para que outras pessoas a utilizem nas comunicações com ela. A outra chave (chamada privada) fica muito bem guardada pelo seu único dono, e é a única chave capaz de decifrar o que a chave pública cifrou.
2.1 Justificativa de utilização de tais chaves
Utilizamos a criptografia assimétrica, pois necessitaríamos executar um script remotamente sem a intervenção do usuário, então geramos as duas chaves sem frase secreta e configuramos o SSH para aceitar a mesma, enviamos nossa chave publica para o servidor com isso não será necessário informar o login e a senha de usuário para executar um script em um servidor remoto.
- Processo de criação das chaves
Criamos as chaves privadas/publicas do SSH no cliente Linux , utilizando o comando ssh-keygen –t dsa para gerar as chaves não informamos a “senha” passphrase, na chave gerada, pois queremos automatizar a execução de um script remoto a autenticação deverá ser feita somente pelas chaves publica e privada o usuário não deverá informar a senha.
Geramos as duas chaves no cliente e enviamos a chave publica para o servidor que vamos acessar, esta chave deve ser adicionada na pasta oculta .SSH no diretório HOME do usuário que será utilizado para acessar o server, não é uma boa pratica utilizar o ROOT, pois qualquer script mau escrito poderá causar danos irreversíveis no server.
No Windows criamos duas chaves utilizando o Puttygen, enviamos a chave publica para o server, porem na hora de conectar o servidor recusou a nossa chave, pesquisando em diversos fóruns e tutorias a maioria explicava que havia uma incompatibilidade na criptografia entre a chave gerada no puttygen e a aceita pelo SSH, para solucionar o problema instalamos no Windows o Cygwin64 Terminal, um emulador de Linux com os pacotes SSH instalados, geramos a chave no terminal com o mesmo comando utilizado no Linux, após importamos a chave privada no Puttygen e geramos uma chave publica, enviamos para o servidor, só assim conseguimos conectar no Linux via Putty o WinSCP, autenticando por Chave, sem usuário e senha.
...