Ferramentas de Usuário

Ferramentas de Site


pt:jessie:config:remote_access:ssh_server

2.3.2 Servidor Ssh

Regra geral não se deve aceder fisicamente a um servidor a não ser por razões excecionais (atualização ou reparação de hardware, por exemplo). A melhor maneira de gerir um servidor é remotamente. No entanto, esse acesso dever ser feito utilizando um protocolo seguro para garantir que as comunicações não serão intercetadas por terceiros.

Instalação

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

Configuração

Todas as configurações do servidor SSH estão no ficheiro /etc/ssh/sshd_config.

Indicar os endereços onde o serviço responde. Neste caso serão aceites ligações apenas no endereço 192.168.1.100, através da porta 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 sem passwords. 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 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 aceites:

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

O acesso a partir de clientes Windows é possível com um programa emulador de terminal com suporte ssh, como o Putty:

Sessão remota via ssh com o putty

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:~#

Referências

pt/jessie/config/remote_access/ssh_server.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1

Excepto menção em contrário, o conteúdo neste wiki está sob a seguinte licença: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki