terça-feira, 25 de agosto de 2009

Servidor SSH



Objetivos
  • Iremos utilizar o ssh para realizar as conexões até as outras maquinas;
  • O ssh criptográfa os dados pela rede, ao contrário do telnet;
  • O ssh é muito utilizado por administradores Linux e Unix;

Introdução

Secure Shell ou SSH é o conjunto de padrões e o protocolo associado que permite estabelecer um canal seguro entre dois computadores. Ele utiliza o sistema de chave criptográfica pública para autenticar um computador remoto, podendo utilizar esse sistema de chaves, também para autenticar usuário.


Em geral, o ssh utiliza a porta 22/tcp e é a alternativa seguro ao TELNET e FTP uma vez que eles não utilizam criptigrafia.

Formas de utilização

O ssh possui diversas formas de utilização, a mais básica de todas serve para estabelecer uma simples shell remota:

# ssh @

Para copiar arquivos de uma máquina para outra, deve-se seguir a mesma logica do comando cp que funciona da seguinte forma:

# cp

No caso do SCP a sintaxe é praticamente a mesma:

# scp

A diferença é que a origem e/ou destino podem ser remotos, ficando, por exemplo:

# scp @:

para copiar da maquina local para a maquina remota, ou

# scp @:

para copiar da máquina remota para a máquina local!

DICA LPI: Para conhecer melhor sobre o ssh mais detalhes cobrados na prova leia a man sshd_config.



Prática dirigida

Configuração do servidor SSH

1 – Instale o servidor de SSH:

# aptitude install ssh

2 – Vamos entender alguns desses parâmetros editando o arquivo de configuração do servidor de SSH:

# vim /etc/ssh/sshd_config

port 22
protocol 2
loginGraceTime 60
permitrootlogin no
pubkeyAuthentication yes
permitEmptyPasswords no
banner /etc/issue.net

3 – Após realizar as devidas alterações, vamos subir o daemon do servidor SSH:

# /etc/init.d/ssh stop

# /etc/initd.ssh start

4 – Determine qual é a porta utilizada pelo SSH:

# grep ssh /etc/services

5 – Verifique que a porta 22 está aberta e escutando:

# netstat -ltan |grep 22

# fuser -v 22/tcp

Utilização do cliente de SSH

Agora, como usuário comum, vamos realizar as seguintes tarefas:

1 – conecte-se ao servidor na máquina de um miguxo (heuehu).

$ ssh

$ ssh @

$ ssh -l

2 – Execute um comando na máquina remota sem estabelecer conexão:

$ ssh @ du -hs /usr


Copiando arquivos remotos

1- Copie um arquivo da sua máquina local para a máquia remota utilizando o scp:

$ echo “meu primeiro SCP” > /tmp/

$ scp /tmp/ @:

2 – Crie um arquivo na sua máquina e dê permissão para que qualquer usuário possa copiá-lo.

$ echo “alguma frase” > /tmp/$HOSTNAME

$ chmod 777 /tmp/$HOSTNAME

3 – Agora, utilizando o scp, copie o respectivo arquivo da máquina de um colega:

$ scp @: /tmp/microx


SSH com chaves assimétricas.

Quando criamos o par de chaves assimétricas, será criado um diretório ~/.ssh na home do usuário.

1 – Em nossa máquina local, sem ser via ssh, vamos criar o par de chaves

$ ssh-keygen -t rsa

generating public/private rsa key pair.
Enter file in which to save the key (/home//.ssh/id_rsa):
enter passhrase (empty for no passphrase):
enter samepassphrase again:
your identification has been saved in /home//.ssh/id_rsa.
Your public key has been saved in /home//.ssh/id_rsa.pub.
The key fingerprint is:
$#$$%#%$#%&*&*(* @micro#

obs: O nome do arquivo pode ser escolhido o padrão mesmo! Basta pressinar a tecla enter. Mas, repare que ele pede uma “passphrase” não uma “password”. Isso porque a idéia é aumentar a segurança, o que inclui uma senha maior!

2 – Verifique que as chaves foram criadas:

$ ls ~/.ssh

Agora que criamos essa chave, precisamos copiar a chave pública para a máquina remota!

3 – copie a chave pública para máquina remota:

$ scp ~/.ssh/id_rsa.pub @:~/.ssh;authorized_keys

4 – Agora é só acessar o servidor normalmente, e ver se ele pede a passhrase para a chave criada:

# ssh @










2 comentários:

Anonymous disse...

boa noite, quero parabeniza-lo pela iniciativa do blog, é muito interessante, mas percebi nessa matéria uma deficiencia de informação sobre o assunto. Foi muito superficial falando de ssh, eu por exemplo quero levantar este serviço e não consigo um material mais detalhado, principalmente no que diz respeito a configuracao de arquivos. Se puder dar uma esticada deste matéria, eu agradeço. Seu blog esta muito legal, a tipografia esta confortável ( leitura do blog ). no mas esta perfeito. parabéns.

25 de agosto de 2009 às 16:57
Agnaldo disse...

Obrigado pela sua participação, realmente eu fui muito superficial nesse artigo, por causa que existe muita documentação na internet sobre esse assunto, mas tudo bem já que é pra ajudar eu vou detalhar mais esse artigo, amanhã vou estar implementando ele com chaves assimétricas e copiando arquivos.

25 de agosto de 2009 às 17:15

Postar um comentário