Limitare i comandi eseguivibili via ssh
Di default NON E' POSSIBILE limitare i comandi eseguibili via ssh, ma è impostabile l'unico comando eseguibile al login. Per far eseguire il comando dopippo al login, occorre inserire in ~/.ssh/authorized_keys il comando.
Esempio: se si vuole usare l'utente per salvare un backup via ssh, inserire la sua chiave pubblica, preceduta da:
from="fire.galimberti.priv",no-pty,command="cd /files/backups; cat | bzip2 -9 > fire-$(date +%Y-%m-%d).tar.bz2" ssh-rsa AAthisisthekey root@fire
from="fire.galimberti.priv"
indica da che macchina si accetta la connessione. Il nome del sistema da cui ci si connette lo si rileva da /var/log/auth
no-pty
indica di non associare un terminale alla connessione
command="cd /files/backups; cat | bzip2 -9 > fire-$(date +%Y-%m-%d).tar.bz2"
e' il comando che viene eseguito alla connessione. Ogni altro comando dato VIENE IGNORATO.
Dalla'ltro sistema, si lancerà quindi:
tar cvf - . | ssh backupfw@web
Verrà creato l'archivio di destinazione.
Riferimenti
- man sshd AUTHORIZED_KEYS FILE FORMAT