Ssh

Acesso Remoto

Regra geral não se acede fisicamente a um servidor a não ser por razões excepcionais (atualização ou reparação de hardware, por exemplo).

 A melhor maneira de regular um servidor é remotamente. No entanto, esse acesso dever ser feito de uma maneira segura e que garanta que a comunicação não seja interrompida por terceiros. 

O protocolo SSH

O protocolo SSH (abreviatura de Secure SHell) é um protocolo de comunicações que encripta todos os dados trocados, tornando virtualmente impossível a violação da privacidade da comunicação. 


O protocolo SSH é extremamente versátil, existindo atualmente software cliente que possibilita o acesso à linha de comandos, transferência de arquivos e criação de túneis seguros como suportes de comunicações para outros protocolos.

Instalação

root@server:~# apt-get install openssh-server openssh-client

Configuração

Todas as configurações do servidor SSH estão no arquivo /etc/ssh/sshd_config.
Indicar os endereços onde o serviço responde. Neste caso serão aceitas ligações apenas no endereço 192.168.1.100, através da porta(canal de conexões) 22 e utilizando a versão 2 do protocolo SSH:
/etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
ListenAddress 192.168.1.100
Protocol 2

#[...]
Por segurança, o servidor SSH apenas permite o acesso remoto de root(usuário de computador que tem acesso livre aos arquivos e processos do sistema operacional) sem passwords(identifica o utilizador do computador e que permite o acesso a dados). Assim, para adquirir privilégios de root, deverá ser efetuado o login como utilizado não privilegiado e em seguida adquirir privilégios de root. Deste modo a password de root não está sujeita a um ataque de força bruta.
/etc/ssh/sshd_config
#[...]

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

#[...]
Verificar também que não são permitidos logins com passwords(senha) vazias:
/etc/ssh/sshd_config
#[...]

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

#[...]
Reiniciar o serviço:
root@server:~# service ssh restart

Verificação

Clientes Linux

Deverá agora ser possível estabelecer uma ligação ssh ao endereço 192.168.1.100.
A primeira vez que essa ligação for efetuada deve ser confirmada a autenticidade do servidor, uma vez que este ainda não consta na lista dos sistemas conhecidos do cliente.

fribeiro@laptop:~$ ssh 192.168.1.100
The authenticity of host ´192.168.1.100 (192.168.1.100)´ can´t be established.
ECDSA key fingerprint is a1:22:11:fd:66:9b:a7:56:44:12:ca:45:e8:87:06:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ´192.168.1.100´ (ECDSA) to the list of known hosts.
fribeiro@192.168.1.100´s password:
 
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
 
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
fribeiro@server:~$ logout
Connection to 192.168.1.100 closed.
fribeiro@laptop:~$
E ligações com o login root não serão aceitas:
fribeiro@laptop:~$ ssh root@192.168.1.100
root@192.168.1.100´s password:
Permission denied, please try again.
root@192.168.1.100´s password:
Permission denied, please try again.
root@192.168.1.100´s password:
Permission denied (publickey,password).
fribeiro@laptop:~$

Clientes Windows

Sessão remota via ssh com o putty
O acesso a partir de clientes Windows é possível com um programa emulador(copia as aplicações de um determinado local de modo que você que consegue reproduzir outros programas sobre ele)de terminal com suporte ssh, como o Putty(programa cliente para protocolos de ssh) :

Obter privilégios de root

Uma vez que o login como root está desligado, o modo de obter privilégios de root numa ligação ssh é através de um utilizado comum e em seguida escalar os privilégios com o comando su:
fribeiro@laptop:~$ ssh 192.168.1.100
fribeiro@192.168.1.100´s password:
 
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
 
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Feb  8 18:11:22 2015 from 192.168.1.33
fribeiro@server:~$ su - root
Password:
root@server:~#

Clientes SSH

Os clientes SSH dividem-se em 2 grandes grupos: 

  •  Terminal SSH: Emulador de terminal que permite aceder remotamente à linha de comandos, utilizando o protocolo SSH.
  • Cliente SFTP: Aplicação cliente para transferência de arquivos que utiliza o Protocolo de Transferência Segura de arquivos (Secure File Transfer Protocol (SFTP))

Clientes Linux

  • openssh-client: Pacote de software que fornece utilitários para acesso remoto (cliente ssh), cópia segura de arquivos (scp) e transferência segura de arquivos (sftp), entre outros.

 

Clientes Windows

 


 

Comentários

Postagens mais visitadas