2009-03-08 21 views
0

Je dois exécuter des sauvegardes à partir de plusieurs serveurs vers un seul compte sur un autre serveur. Si l'un des serveurs publics est compromis, je ne veux pas que les fichiers de l'autre serveur sur le compte de sauvegarde soient compromis.Restriction d'OpenSSH pour autoriser les téléchargements uniquement vers certains répertoires

Ce que je dois faire est d'autoriser uniquement SCP à un répertoire spécifique, basé sur la clé ssh des connexions entrantes.

Je sais que je peux définir le shell, et plusieurs options par clé dans le fichier authorized_keys. http://www.manpagez.com/man/8/sshd/ (Faites défiler jusqu'à "AuthorizedKeysFile")

Ce que je ne sais pas comment définir la commande internal-sftp pour utiliser uniquement un certain répertoire. Je n'ai pas de racine sur la machine, donc je ne peux pas faire le normal-sftp + chroot.

Répondre

2

Cela ne fonctionne pas de cette façon.

Ce que vous devez faire est de mettre en place une prison mini chroot pour chaque hôte de sauvegarde. Il doit juste être capable de lancer sh et scp (/ dev ne nécessite que l'entrée/dev/null).

Utilisez jailsh comme shell de connexion pour chaque compte. Jailsh est un shell de connexion suid-root qui place la prison chroot dans le répertoire marqué par deux barres obliques consécutives, supprime les privilèges root, et execs/bin/sh.

+0

Malheureusement, je n'ai pas de racine sur le serveur de sauvegarde. Si je l'ai fait, je pourrais facilement faire des utilisateurs distincts pour chaque serveur de sauvegarde. –

+0

Ensuite, sa coquille personnalisée de construction pour vous. – Joshua