Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Acesso atraves de OpenSsh

Colaboração: Renato Rudnicki

Data de Publicação: 30 de janeiro de 2008

Este artigo tem o objetivo de explicar o funcionamento de como acessar 2 ou mais máquinas remotas de maneira segura. Espero que ajude ;D.

Introdução ao OpenSsh

Ssh - Secure Shell - é um programa que tem como objetivo acessar máquinas remotamente de maneira segura. O telnet e o OpenSsh a grosso modo tem o mesmo objetivo: estabelecer uma conexão entre dois computadores, porém o telnet é muito mais inseguro, pois a conexão do telnet não é criptografada, ao contrário do OpenSsh. Neste artigo, estou utilizando o pacote OpenSsh, pois é uma versão livre e atualizada. Este tutorial foi testado em um Conectiva 10, porém deve funcionar nas outras distros também. Aqui estou usando o gerenciador de pacotes rpm, que é especifico para Conectiva, Red Hat, Fedora, etc. É um recurso muito fãcil de se utilizar, não precisando quase nada de configuração ;-D

Funcionamento

No momento da instalação do pacote openssh em um servidor, o utilitário rpm gera 2 chaves - chave pública e chave privada do host (1024 bits :D) - onde essas chaves são armazenadas em um diretorio chamado /etc/ssh. Os arquivos que contém as chaves geradas pelo openssh no momento da instalação são:

  /etc/ssh/ssh_host_key
  /etc/ssh/ssh_host_key.pub
  /etc/ssh_host_dsa_key.pyb

Estas chaves serão utilizadas mais tarde para provar para o servidor a sua autenticidade para os clientes, pois ip não é uma autenticação confiável.

Um outro par de chaves (pública e privada) é gerado sempre que o serviço ssh é inicializado ou a cada hora (intervalo de tempo configurável). Este outro par de chaves é chamado chaves de Servidor, tem 768 bits, e não é gravado em disco, ficando apenas na memória do servidor, ou seja, temos mais 1 par de chaves: Primária do servidor e pública do servidor. Os passos para se estabelecer uma conexão são:

  1. O clienste envia pedido de conexão para o servidor;
  2. O servidor responde enviando as 2 chaves públicas para o cliente.
  3. Se é a primeira vez que o cliente se conecta ao servidor, o cliente ainda não conhece a chave pública do servidor, assim, ele "avisará" ao operador que não será possível verificar a autenticidade do mesmo. Caso o operador opte por continuar com a conexão, a chave pública do host do servidor será armazenada no HD do cliente para futura verificação.

Pré-Requisitos de Instalação

Para que possa funcionar a conexão de OpenSsh, devem ser observados os seguintes detalhes:

  • O protocolo tcp/ip deve estar instalado e funcionando
  • Devem estar instalados os seguintes softwares:
    • openssh
    • openssh-clients
    • openssh-server

Existem outros pacotes opcionais que não foram incluidos na listagem, como os pacotes de documentação e desenvolvimento.

  • O Servidor e o Cliente devem estar configurados

Caso você esteja utilizando um linux que utilize pacotes rpm, você pode usar o seguinte comando para baixar os pacotes: rpm -hiv openssh*

Configuração do Servidor OpenSsh

Quase toda configuração do servidor openssh está baseada nos parâmetros indicados no arquivo /etc/ssh/sshd_config. Se você visualisar este arquivo, poderá notar que a maioria das configurações podem ser preenchidas com Yes / No.

Opções de configuração do servidor OpenSsh

Protocol Especifica as versões do protocolo que serão aceitas pelo servidor.
LoginGraceTime Define o tempo limite, em segundos, de inatividade para um login, onde terminado este tempo, a sessão é finalizada.
KeyRegenerationInterval Define o tempo em segundo do tempo de duração das chaves do servidor.
PermitRootLogin Especifica se o servidor irá aceitar logins do root.
PasswordAuthentication Especifica se será utilizado autenticação de senha.
PermitEmptyPasswords Especifica se o servidor ssh aceitará login de contas sem senha.

Obs: em regras gerais não é necessário efetuar alterações nesse arquivo, pois sua configuração padrão deverá funcionar.

Apos feito isso, é necessário inicializar o serviço correspondente para que os clientes possam se conectar:

  service sshd start

Configuração do cliente ssh

A princípio, para o openssh funcionar, também não é necessário alterar nenhum arquivo de configuração do cliente. Mas caso você queira se aprofundar mais, você pode ler a manpage do ssh, sshd.

Utilizando o openssh na prática !!! Há varias maneiras de utilizar o openssh. Algumas delas são:

ssh user@ip_maquina tenta efetuar uma conexão à máquina_remota (onde deverá estar rodadno o openssh sever). o usuário deverá estar cadastrado na máquina remota.
ssh -l user maquina_remota idem ao comando anterior.
ssh maquina_remota tentar efetuar uma conexão a máquina remota como usuário da maquina local que disparou o comando. Deve ter sido mantido a configuração padrão)

O comando scp substitui o comando cp e permite que os arquvios sejam transmitidos entre máquinas de maneira segura.Ex:

  scp arquivo.txt user1@maquina1:/home/teste

O comando acima copia o arquivo de nome arquivo.txt que está na máquina local para o diretório /home/teste da maquina remota de nome máquina1.

  scp user@maquina1:/home/teste/arquivo.txt

Copia o arquivo de nome arquivo.txt do diretório /home/teste que está na máquina e nome máquina 1 para o diretório corrente na máquina local.

Obs1: Em ambos os casos poderia ser utilizado o endereço ip ao invés do nome da máquina remota.

Obs2: Em ambos os casos, será solicitada a senha do usuário user1 na máquina remota.

Para que possa acessar a máquina remota sem solicitação de senha, será necessário configurar tanto o servidor, quanto o cliente.

Configuração do servidor

  1. Gerar uma chave RSA ou DSA sem o uso de senha (ver o arquivo /etc/ssh/sshd_config) (a escolha por RSA ou DSA depende da versão do seu ssh)
  2. Copiar a chave pública para o servidor (maquina.remota:~/.ssh/authorized_keys - RSA (ou DSA))
  3. Certifique-se que seu diretorio pessoal e acima dele possuem permissões seguras, onde apenas o dono dos mesmo tem permissão de escrita.

Configuração do cliente

Assim que tiver a chave privada correta com você, quando executar um ssh na máquina remota, sua senha não será solicitada. Neste exemplo, foi usado chaves RSA versão 1, e os comandos abaixo se referem a ela.

  ssh-keygen -t rsa1 -f ~/.ssh/id_rsa1

(tecle Enter para deixar a conexão sem senha). Este comando irá criar 2 arquivos: ~/.ssh/id_rsa1 (com chave privada) e ~/.ssh/id_rsa1.pub (com chave publica)

Enviar ao servidor a chave pública, que está no arquivo id_rsa1.pub

Obs: Este exemplo funciona de Linux para Linux. Caso você queira utilizar Linux para Windows, você pode utilizar o programa Putty, ou pscp, psftp, teraterm.


Mulheres, computadores e videogames

Colaboração: Fernanda dos Santos

Encontrei no blog: http://grubelilo.blogspot.com/2007/12/mulheres-computadores-e-videogames.html

Um bom texto sobre o que afasta as mulheres dos setores de tecnologia, uma boa leitura para homens e mulheres.

Veja a relação completa dos artigos de Renato Rudnicki

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1410 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis