quarta-feira, 18 de novembro de 2009

Instalando e Configurando um Servidor SSH - Secure Shell





Seguindo a Série de Artigos para serem utilizados em sala de aula, desta vez apresentaremos o Servidor SSH - Security Shell. O mais popular dos softwares de acesso remoto. Tem como principal característica a criptografia de dados, uso simples, possibilidade de transferência de arquivos entre máquinas, criação de túneis e túneis reversos e também cria túneis para qualquer aplicação mandar seus dados.

Por padrão, os servidores Debian vem sem o Servidor SSH. Para instalar use o seguinte comando:
# apt-get install ssh

Uso do Cliente SSH
1 – Se conectando a um servidor SSH
# ssh usuario@ip

Exemplo:
# ssh dailson@10.0.17.254

Copiando um arquivo de um servidor:
# scp usuario@ip:/local destino

Exemplos:
# scp root@10.0.17.254:/etc/services /home/dailson
# scp dailson@10.0.17.254:~/texto.txt ~


Copiando Diretórios:
# scp -r dailson@10.0.17.254:/etc /tmp

Copiando arquivos e Diretórios de uma máquina local para o servidor (Basta inverter a ordem)
# scp /etc/services root@10.0.17.254
# scp -r /etc root@10.0.17.254


Em interfaces gráficas como KDE e GNOME, você pode usar o gerenciandor de arquivos (Nautilus no Gnome e Konqueror no KDE) para fazer cópias de conteúdos entre máquinas.
Na barra de endereços do Gerenciador, faça: sftp://usuario@ip
Exemplo:
sftp://dailson@10.0.17.254

É possível também usar acesso remoto entre as plataformas Windows e Linux, através dos clientes putty e winscp.

O Comportamento padrão do cliente ssh é definido no arquivo /etc/ssh/ssh_config
Para aprender mais sobre estes parâmetros de configurações do cliente ssh consulte o manual de opções do cliente ssh através do comando:
# man ssh_config

Servidor SSH

Porta Padrão:
22 tcp

Arquivo de configuração:
/etc/ssh/sshd_config

Daemon:
/etc/init.d/ssh

A instalação padrão do ssh já deixa o servidor configurado. Para alterar o estado do servidor ssh use:
Para parar, iniciar e reiniciar o servidor ssh
# /etc/init.d/ssh stop
# /etc/init.d/ssh start

# /etc/init.d/ssh restart


Alterando algumas configurações do Arquivo /etc/ssh/sshd_config

Protocolo a ser usado pelo servidor (Existem as versões 1 e 2)
Protocol 2

Tempo para o seu servidor criar novas chaves
KeyRegenerationInterval 1h

tamanho da chave,quanto maior é melhor
ServerKeyBits 768

Nível de detalhamento das mensagens exibidas nos logs
SyslogFacility AUTH

Define opção de mensagens dos logs
LogLevel INFO

Estabelece tempo por inatividade na conexão SSH (No login e não no uso)
LoginGraceTime 2m

Essa opção define se o usuário root pode ou não se conectar via SSH no servidor
PermitRootLogin yes

É bom ativar essa opção para o servidor detectar se as chaves estão com com suas permissões adequadas, ou seja, seguras
StrictModes yes

Tentativas máximas de senhas erradas ao logar.
MaxAuthTries 6

Estabelece o número de conexões simultâneas
MaxStarups 3

Permite autenticação de chaves com senhas
PasswordAuthentication yes

Permite ou não a opção de senhas em branco
PermitEmptyPasswords no

Exibe o login da última pessoa que logou
PrintLastLog yes

Separa os processos de todos os usários em áreas de memórias diferentes. Isso resulta em maior segurança.
UsePrivilegeSeparation yes

Mantém a conexão ativa mesmo em inatividade (Manda pacotes de tempo em tempo para manter o socket aberto)
TCPKeepAlive yes

Arquivo que será exibido no login de todos os usuário.
Banner /etc/issue.net

Ativa o sftp-server, servidor ftp com criptografia.
Subsystem sftp /usr/libexec/sftp-server

Define se será usada compactação na transferência.
Compression yes

Limita que somente este usuário poderá logar
AllowUser dailson

Ídem ao ítem anterior, porém com grupos
AllowGroups administradores

Proibe joao de usar o ssh
DenyUsers joao

Proibe os usuários deste grupo de logarem no servidor ssh
DenyGroups usuarios

Não esqueça que qualquer alteração no arquivo de configuração do servidor SSH, o serviço DEVE ser reiniciado:
/etc/init.d/ssh restart

Para aprender mais sobre estes parâmetros consulte o manual de opções do servidor ssh através do comando:
man sshd_config

Nenhum comentário:

Postar um comentário