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/archive/
Parte relevante de la salida:
opening connection using: ssh server.example.com rsync --server --sender -vvlogDtpre.iLsf --ignore-errors . "/srv/backups/*"
Anotamos esa linea, quitando las comillas, y la usamos en el paso siguiente.
6. (Servidor) Editamos “authorized_keys” para permitir exactamente el comando anotado en el paso 5, y ningun otro.
sudo cp /home/user1/.ssh/authorized_keys /home/user1/.ssh/authorized_keys.bak sudo vim /home/user1/.ssh/authorized_keys
Y anyadir al principio de la entrada de “cliente” el comando copiado del paso anterior a partir del comando rsync y sin comillas:
rsync --server --sender -vvlogDtpre.iLsf --ignore-errors . "/srv/backups/*"
El archivo queda de la siguiente forma:
command="rsync --server --sender -vvlogDtpre.iLsf --ignore-errors . /srv/backups/*" ssh-dss AAAAB3NzaC1kc3MAAACBAKOX4esNuet8Tb9LMPtGnR8LfhRg4kKfS7A6hLUyxacfxlZu+Sd9T1eVNDhPQAhwFAyPMEhg+lYFhymHX90nSIaFXcDbtLQUE6rjSNQktRI21twDsbwFwn7JYFXGYMCEnYMc1wArtUHq6HE9lseHgQ4pXRbwE85se4f4j6AN7sD9AAAAFQDxcRSrnl1YXaXPAq6wT6SPj8UUsQAAAIEAhBRydGpBMSD+TRD6ax/RMTTn8SESO7YM+Zqlz0p+jkxCs26F6EqtTmwxptd0cXNHNx8VD0mw31e3v85ABXdmhfTQjvkriKDbwbW1ZNzy1fekGuSYKBngFNXA5K6guHqdAtphQNt1RrgRT6JULk9xK1Gu/wIzIpw+Q60dL+9t5ngAAACAbt80vmokJ/9d2VWeFaSzGd30LRhhT6KERhUl0GdbbQ7sTjkOLNGQJin1ogZvi8+W+VlTF0IYnELsXVCZAKS1FrLQe8isuNb9sHnc5047NJFOM8lxOBSKP4bB5ds28PSTQ1W4UNZf31uD7+Yph5YrWvlvsThUAIfOiIbz03K6tkc= user1@client.example.com