Un servidor SSH es un programa de software que utiliza el protocolo Secure Shell para aceptar conexiones desde equipos remotos. Igualmente Telnet y FTP son protocolos bien conocidos pero estos envían datos en formato de texto plano, lo cual puede ser capturado por alguien que usa otro sistema de la misma red, incluyendo Internet. Mientra los datos transferidos usando la herramientas SSH estan cifrada, por lo que es seguro. El conjunto de herramientas SSH incluye ssh para conectarse con seguridad a un sistema remoto y ejecutar comandos remotos..
Instalación
root@linux# aptitude install openssh-server openssh-client
Configuración
Todas las configuraciones del servidor ssh se encuentran en el archivo /etc/ssh/sshd_config.
Para configurar el servidor debe indicarse las direcciones donde el servicio debe responder. En este caso serán conexiones ligadas a la dirección 192.168.1.100, a través del puerto 22 y utilizando la versión 2 del protocolo ssh:
Para configurar el servidor debe indicarse las direcciones donde el servicio debe responder. En este caso serán conexiones ligadas a la dirección 192.168.1.100, a través del puerto 22 y utilizando la versión 2 del 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 #[...]
- /etc/ssh/sshd_config
#[...] # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes #[...]
- /etc/ssh/sshd_config
#[...] # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no #[...]
root@linux# /etc/init.d/ssh restart
Verificación
Clientes Linux
Debe ser posible establecer una conexión ssh a la dirección 192.168.1.100. La primera vez que la conexión se efectúe, ésta debe ser confirmada,
porque el servidor no está registrado en la lista de los sistemas
conocidos por el cliente.
fribeiro@laptop:~$ ssh 192.168.1.100 The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established. RSA key fingerprint is ee:16:b0:c9:1b:ef:b4:64:e1:86:80:f4:36:9f:08:03. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.100' (RSA) to the list of known hosts. fribeiro@192.168.1.100's password: Linux server 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64 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@linux:~$ logout Connection to 192.168.1.100 closed. fribeiro@laptop:~$Las conexiones con el login root no serán aceptadas:
fribeiro@laptop:~$ ssh -l 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).
Clientes Windows
El acceso a partir de clientes Windows es posible con un programa emulador del terminal que soporte ssh, como Putty:
Obtener privilegios de root
Como el login como root está desactivado, la manera de obtener privilegios de root en una conexión ssh es a través de un usuario común que escala privilegios con el comando su:
fribeiro@laptop:~$ ssh 192.168.1.100 fribeiro@192.168.1.100's password: Linux server 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64 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: Wed Oct 27 11:01:21 2010 from laptop.home.lan fribeiro@linux:~$ su - root Password: root@linux:~#
Favor comentar.