This is an old revision of the document!
Table of Contents
SSH
Modo debug
En el sevidor:
/usr/sbin/sshd -d -p <port>
En el cliente ponemos tantas v como nivel de debug, de 1 a 3:
ssh -vvv -p <port> <servidor>
Restringir comandos autorizados
Queremos ejecutar desde la maquina “cliente” solo el comando rsync en la maquina “servidor” con unos parametros especificos. Todo lo demas debe ser rechazado.
1. (Opcional) Permitir ssh con contrasenya.
1.1 (Servidor) Editar:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sudo vim /etc/ssh/sshd_config
Y dejar la siguiente linea asi:
1.2 (Servidor) Recargar el servicio ssh:
sudo service ssh reload
2. (Servidor) Crear un usuario:
sudo useradd -m user1 sudo passwd user1
3. (Cliente, Servidor) Intercambiar las claves entre cliente y servidor
4. (Cliente) Determinar que comando lanza rsync en el lado servidor. Para ello lanzo el comando rsync desde el lado cliente con un -v:
rsync -arvv --no-implied-dirs --ignore-errors 'server.example.com:/srv/backups/*' /srv/backups/
Parte relevante de la salida:
opening connection using: ssh tickets.jamgo.es rsync --server --sender -vvlogDtpre.iLsf --ignore-errors . "/srv/backups/*"
Anotamos esa linea, quitando las comillas, y la usamos en el paso siguiente.
6. (Cliente) Editamos “authorized_keys” para permitir
Editar:
sudo cp /home/user1/.ssh/authorized_keys /home/user1/.ssh/authorized_keys.bak /home/user1/.ssh/known_hosts