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