Limitare OpenSSH per consentire i caricamenti solo in determinate directory
Domanda
Devo eseguire i backup da più server su un singolo account su un altro server. Se uno dei server pubblici è compromesso, non voglio compromettere i file dell'altro server sull'account di backup.
Quello che devo fare è consentire a SCP solo una directory specifica, basata sulla chiave ssh delle connessioni in entrata.
So che posso impostare la shell e diverse opzioni in base alla chiave nel file authorized_keys. http://www.manpagez.com/man/8/sshd/ ( Scorri verso il basso fino a " AuthorizedKeysFile ")
Quello che non so come impostare il comando internal-sftp per usare solo una determinata directory. Non ho root sulla macchina, quindi non posso fare il normale internal-sftp + chroot.
Soluzione
Non funziona in questo modo.
Quello che devi fare è impostare una mini prigione chroot per ogni host di backup. Deve solo essere in grado di eseguire sh e scp (/ dev necessita solo di / dev / null entry).
Usa jailsh come shell di login per ogni account.
Jailsh è una shell di accesso suid-root che imposta il jroot chroot sulla directory contrassegnata da due barre consecutive, elimina i privilegi di root e execs / bin / sh.