sexta-feira, 29 de julho de 2011

Acesso SSH com chave pública

Como configurar acesso ssh ao servidor de deploy sem o uso de senha utilizando somente chaves públicas

No servidor remoto

Criar um usuário no servidor remoto específico para deploy
$ sudo adduser deployer 
Editar o arquivo sudoers para modificar as permissões do usuário
$ sudo visudo 
Incluir a linha no arquivo
deployer ALL=(ALL:ALL) NOPASSWD: ALL


Na máquina local

Verificar a existência das chaves no diretório padrão:
$ ll ~/.ssh
Criar novas chaves se necessário e incluir no arquivo authorized_keys do servidor remoto
$ ssh-keygen -b 1024 -t rsa -C "fabrizio@vaio"
$ ssh-copy-id -i ~/.ssh/id_rsa.pub deployer@192.168.0.103
Alterar o config para criar atalhos de conexões ssh e simplificar o acesso
$ vi ~/.ssh/config
Incluir as linhas no arquivo
Host pavilion
HostName 192.168.0.103
User deployer
Port 22
Acessar o servidor remoto para verificar se tudo está funcionando
$ ssh pavilion


Mais segurança no servidor remoto

Para deixar o servidor mais seguro editar o arquivo /etc/ssh/sshd_config
$ sudo nano /etc/ssh/sshd_config
Alterar ou incluir as linhas
PermitRootLogin no
PasswordAuthentication no
Ativar o firewall da maquina
$ sudo ufw enable    # bloqueia todas as portas
$ sudo ufw allow 22  # libera ssh
$ sudo ufw allow 80  # libera http
$ sudo ufw allow 443 # libera https

$ sudo ufw status    # mostra o status
$ sudo ufw help      # ajuda 
$ sudo /etc/init.d/ssh restart #reinicia o serviço

Nenhum comentário:

Postar um comentário