|
|
== O SSH ==
|
|
|
# O SSH
|
|
|
O SSH (ou ''Secure Shell''), é um protocolo de comunicação que permite um conexão segura entre dois computadores através de uma rede pública insegura, encaminhamento de portas e a criação de túneis, utilizando criptografação forte.
|
|
|
|
|
|
== Conexões em ambiente Linux ==
|
|
|
## Conexões em ambiente Linux
|
|
|
A forma mais simples de conexão por ssh em ambiente Linux, se dá através do comando
|
|
|
ssh -l <usuário> <servidor>
|
|
|
ou
|
... | ... | @@ -13,7 +13,7 @@ A forma mais simples de conexão por ssh em ambiente Linux, se dá através do c |
|
|
|
|
|
Tenha em mente que não há necessariamente relação entre o usuário em uso no cliente e o usuário a ser usado na conexão, isto é, o seu login no servidor não precisa ser o mesmo login do seu computador. Por exemplo, você pode estar logado no seu computador como '''jose''' e logar no computador remoto com o usuário '''joao'''.
|
|
|
|
|
|
=== Chaves SSH ===
|
|
|
### Chaves SSH
|
|
|
Permitir o login por ssh utilizando senhas pode criar um problema de segurança, tornando possível a quebra dessa senha por força bruta, principalmente no caso de usuários com senhas fracas (palavras de dicionário, por exemplo), senhas muito curtas ou muito óbvias.
|
|
|
|
|
|
Ainda existe o problema de, no caso de um grupo de usuários compartilharem a mesma conta, ser necessário que todos conheçam a mesma senha. Na ocorrência de uma pessoa deixar esse grupo, será necessário modificar a senha, obrigando a todos os membros do grupo a decorarem uma nova.
|
... | ... | @@ -24,7 +24,7 @@ O ssh utiliza um esquema de chaves assimétricas para a conexão: |
|
|
* Uma chave privada que é utilizada pelo cliente. Este arquivo deve estar presente no seu computador local.
|
|
|
* Uma chave pública instalada no servidor a ser conectado (computador remoto).
|
|
|
|
|
|
==== Criar um novo par de chaves RSA ====
|
|
|
#### Criar um novo par de chaves RSA
|
|
|
O processo para a criação de um novo par de chaves, em ambiente linux, é simples:
|
|
|
[ladb@suporte01 ~]$ ssh-keygen
|
|
|
Generating public/private rsa key pair.
|
... | ... | @@ -58,13 +58,13 @@ Casa a instalação da chave privada precise ser feita manualmente, um solução |
|
|
(neste exemplo, substituindo o arquivo <tt>identity</tt> caso ele exista.)
|
|
|
Também é necessário alterar as permissões de leitura da chave privada, caso contrário o ssh '''não''' vai considerar o arquivo.
|
|
|
|
|
|
=== Instalação da chave no lado do servidor ===
|
|
|
### Instalação da chave no lado do servidor
|
|
|
Para a instalação da chave pública no servidor, é necessário colocar uma cópia da <tt>chave>.pub</tt> no arquivo <tt>~/.ssh/authorized_keys</tt>. Note que a chave tem que ser instalada no diretório <tt>home</tt> do usuário que vai ser usado para a conexão por ssh. Nesse exemplo, pressupõe-se que a chave será instalada para o usuário atual.
|
|
|
cat /lugar/onde/a/chave/está/<chave>.pub >> ~/.ssh/authorized_keys
|
|
|
chmod 600 ~/.ssh/authorized_keys
|
|
|
Do mesmo modo que a chave privada, o ssh exige que o arquivo <tt>authorized_keys</tt> só tenha permissões de leitura para o dono do arquivo.
|
|
|
|
|
|
==== Caso especial ====
|
|
|
#### Caso especial
|
|
|
Afim de restringir ao máximo as conexões ao servidor, é recomendado o uso da diretiva <tt>'''AllowUsers'''</tt> no arquivo <tt>/etc/ssh/sshd_config</tt>.
|
|
|
|
|
|
Essa diretiva pode ser usada para especificar quais usuários podem se logar por ssh. Caso essa opção esteja em uso, é necessário listar os usuários que terão acesso ao servidor
|
... | ... | @@ -78,15 +78,15 @@ Essa diretiva pode ser usada para especificar quais usuários podem se logar por |
|
|
Lembre-se de recarregar o serviço ssh caso haja alteração em seus arquivos de configuração:
|
|
|
service sshd reload
|
|
|
|
|
|
== Conexões em ambiente Windows ==
|
|
|
## Conexões em ambiente Windows
|
|
|
Para utilizar o ssh em ambiente Windows, pode-se usar o cliente de ssh "putty". [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Site do putty]
|
|
|
|
|
|
É recomendado o uso do instalador completo (putty-0.60-installer.exe, quando esse howto foi escrito). O instalado completo já prepara o cliente ssh e o gerador de chaves.
|
|
|
|
|
|
=== Instalando o Putty ===
|
|
|
### Instalando o Putty
|
|
|
A instalação do putty é padrão. Após baixar o instalador, apenas o execute e siga as etapas de instalação.
|
|
|
|
|
|
=== Gerando uma nova chave ssh com o Putty ===
|
|
|
### Gerando uma nova chave ssh com o Putty
|
|
|
Para criar uma nova chave, use o programa PuTTYgen (Disponível em inciar » Programas » Putty)
|
|
|
|
|
|
No programa, aperte <tt>generate</tt> para criar a nova chave. O programa vai gerar aleatoriedade para gerar uma chave mais segura e então lhe apresentará a chave pública e alguns campos para personalizar a chave:
|
... | ... | @@ -108,7 +108,7 @@ Salve a chave privada com a extensão padrão (essa chave é a que precisará se |
|
|
|
|
|
Essa chave que deve ser instalada no <tt>'''authorized_keys'''</tt> do usuário a ser acessado no servidor remoto, conforme já foi descrito anteriormente.
|
|
|
|
|
|
=== Acessando um servidor ssh com o putty ===
|
|
|
### Acessando um servidor ssh com o putty
|
|
|
Sabendo que a etapa de ''instalação da chave'' pública no servidor '''já''' foi concluída:
|
|
|
|
|
|
Primeiro, temos que carregar a chave privada no putty. Se a chave foi criada pelo próprio putty, apenas abrir a chave irá carregá-la (se a chave está com senha, ela será requisitada).
|
... | ... | @@ -117,7 +117,7 @@ Se a chave foi criada pelo linux, abra o PuTTYgen e no menu ''conversions'' > '' |
|
|
Por fim abra o Putty, e na guia session, coloque o IP (ou o nome) do servidor. O putty perguntará qual é o usuário a ser usado para a conexão (esse é o usuário no qual foi instalada a chave de ssh, root, joao, maria, por exemplo).
|
|
|
Se tudo ocorreu devidamente, você então terá acesso ao servidor desejado.
|
|
|
|
|
|
== Referências ==
|
|
|
## Referências
|
|
|
* ssh man page
|
|
|
* http://en.wikipedia.org/wiki/Secure_Shell
|
|
|
* http://www.openssh.com
|
... | ... | |