SSH completo (passo a passo)

Esse é meu primeiro artigo para o VOL, aqui explico como instalar, configurar e usar o OpenSSH, uma ótima opção para administradores de redes que querem mais segurança em seus acessos remotos.

[ Hits: 268.992 ]

Por: Leandro Totino Pereira em 28/08/2006


Configuração do cliente



O cliente no caso é o usuário da maquina que acessará o usuário do servidor.

Edite o arquivo ssh_config:

# $OpenBSD: ssh_config,v 1.19 2003/08/13 08:46:31 markus Exp $

# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for various options

# Host *
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no


RSAAuthentication yes # opção que define autenticação da chave ou não
PasswordAuthentication yes # define se autentica o passwd das chaves
#HostbasedAuthentication no
#BatchMode no
CheckHostIP yes # checa o ip do servidor
#AddressFamily any
#ConnectTimeout 0
#StrictHostKeyChecking ask
IdentityFile ~/.ssh/identity # define o nome e o local da chave rsa
IdentityFile ~/.ssh/id_rsa # define o nome e o local da chave rsa
IdentityFile ~/.ssh/id_dsa # define o nome e o local da chave rsa

Port 2222 # número da porta onde o cliente se conectará com servidor (tem que ser a mesma que a do servidor)

Protocol 2 # número do protocolo (tem que ser o mesmo protocolo do servidor)

#Cipher 3des
#Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
#EscapeChar ~

Adicionando chaves:

$ ssh-keygen -t dsa

Nome é como padrão definido no arquivo ssh_config. Pedirá senha de autenticação.

$ ssh-keygen -t rsa

Nome é como padrão definido no arquivo ssh_config. pedirá senha de autenticação

Relembrando, vão surgir quatro chaves, duas públicas (.pub) e duas privadas:
  • Chaves privadas: nome_da_chave.rsa e nome_da_chave.dsa;
  • Chaves públicas: nome_da_chave_rsa.pub e nome_da_chave_dsa.pub.

Agora vamos criar o arquivo identity, é só fazer isso:

# cat ~/.ssh/ nome_da_chave.rsa > ~/.ssh/identity

Agora para você ter permissão de se conectar ao servidor basta adicionar sua chave pública no servidor. Existem dois jeitos de fazer isso.

Você pega em um disquete ou manda sua chave pública pela rede até o servidor e inclui ela no arquivo authorized_keys (se não tiver o arquivo authorized_keys, crie-o no seu ~/.ssh/) com o comando:

# cat suachavepublica.pub > usuario_que_será_logado_remotamente/.ssh/authorized_keys

ou pelo comando:

# scp ~/.ssh/chave_publiva_do_cliente.pub usuario_a_ser_logado@nome_ou_ip_do_seu_servidor:~/.ssh/authorized_keys

E pronto, agora é só se conectar.

# ssh usuario_a_ser_logado@nome_ou_ip_do_seu_servidor

Se conectou beleza, se deu erro execute:

# ssh -v usuario_a_ser_logado@nome_ou_ip_do_seu_servidor

E veja o erro que ocorreu.

ssh-add e ssh-agent


Execute ssh-agent:

# ssh-agent

Aparecerão várias variáveis. Execute elas no seu terminal favorito e depois execute ssh-add:

# ssh-add

e registre seu cliente.

Depois é só correr para o abraço =)

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Editando o sshd_config
   3. Adicionando chaves para os usuários
   4. Configuração do cliente
   5. Usando o sftp
Outros artigos deste autor

Instalando e configurando o VNC

Enganando invasores com Honeyperl

Squid + proxy transparente + autentificação + SSL

Montando e desvendando redes no Linux

Leitura recomendada

Atirando o pau no gato com Metasploit

TinyOS

Biometria - Reconhecimento Facial

Como recuperar a senha o root

Monitoramento de redes com o Zenoss

  
Comentários
[1] Comentário enviado por cvs em 28/08/2006 - 08:02h

Na verdade para o slackware poderia ter colocado os passos de instalação e atualização do openssh usando os .tgz da arvore oficial do slackware.

[2] Comentário enviado por solucoesnandor em 28/08/2006 - 09:10h

Muito bom artigo. Parabéns !

[3] Comentário enviado por vmassuchetto em 28/08/2006 - 11:26h

aí velho...

bacana o artigo, mas eu tenho uma dúvida clássica...hehe
eu gostaria de deixar meu pc ligado e poder acessá-lo quando eu estiver fora, como posso fazer isso?

meu ip não é fixo, a brasil telecom deixa ele fixo se eu pedir?
sabe onde tem um tutorial bom, ou até mesmo você pode responder isso via comentário...

valeu!
abraços
vinicius

[4] Comentário enviado por fabio em 28/08/2006 - 11:54h

Olá wtn2die,

Use o DynDNS:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5239

Um abraço

[5] Comentário enviado por tatototino em 28/08/2006 - 13:40h

cvs é podia ser =D mas eu nunk gostei de usar .tgz no slackware por isso não abordei
e queria dexar muito claro que a intenção desse artigo é apenas o basico não abordei chroot e parametros de segurança no sshd_conf


[6] Comentário enviado por fmpfmp em 29/08/2006 - 12:24h

errado...

[7] Comentário enviado por jroliv em 29/08/2006 - 15:01h

Aconselho deixar o seviço rodando em uma porta direfente da tão conhecida porta 22 por uma questão lógica de segurança.

[8] Comentário enviado por tatototino em 29/08/2006 - 18:20h

jroliv

certissimo o que vc falo mas como falei encima não kis alterar muito do padrão
mas vou deixar um link pra quem quer aprimorar a segurança do seu servidor ssh

http://www.cert.br/docs/whitepapers/defesa-forca-bruta-ssh/

e o chroot

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=418

[9] Comentário enviado por cams em 31/10/2006 - 17:08h

Tuto mto bom mesmo.....valeu

[10] Comentário enviado por digonet em 15/04/2007 - 13:13h

teria como colocar o ssh em disquete em terminal sem hd, não uso o ltsp, e sim preciso do ssh cliente para acessar o programa no meu servidor, teria como, como seria?

obrigado amigos

[11] Comentário enviado por tatototino em 16/04/2007 - 00:14h

acho que dá sim, você pode copiar o comando ssh e suas dependencias para o disquete e depois montar o disquete e fazer um chroot onde o disquete será montado.

use o comando ldd para ver as dependencias do comando ssh

espero ter ajudado

[12] Comentário enviado por stalin em 11/03/2008 - 11:53h

Qdo eu digito ./configure ocorre um erro de compilação como mostra abaixo:

diogo@AZUL-4:~/Área de Trabalho/ssh-3.2.9.1$ ./configure
loading cache ./config.cache
checking distribution consistency... done
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking cached information... ok
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal-1.4... missing
checking for working autoconf... missing
checking for working automake-1.4... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking whether building in source directory... yes
checking using purify... no
checking for gcc... gcc
checking for gcc... gcc
checking whether the C compiler (gcc -g ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.

O que devo fazer para que não ocorra esse erro novamente.

Obrigado

[13] Comentário enviado por tatototino em 15/09/2008 - 15:06h

checking whether the C compiler (gcc -g ) works... no

[14] Comentário enviado por Emilio Araujo em 04/05/2009 - 11:19h

O meu deu o seguinte erro no daemon:

quando /usr/sbin/sshd -D

deu:

Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available -- exiting.

e agora doutor?

[15] Comentário enviado por Emilio Araujo em 05/05/2009 - 12:26h

ja resolvi,

recriei as chaves usando o mesmo caminho,
ate conecto de um pc dentro da rede mas no login da acesso negado.
alguem por favor me ajude.

[16] Comentário enviado por eltonhbm em 10/10/2009 - 21:30h

bom tuto! xD


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts