Basicamente, o que estou perguntando é: alguém encontrou um meio pelo qual envolver o rsync dentro do ssh.
Com o OpenSSH v4.9 +, o sftp tem algumas boas opções que permitem chroot na conexão de entrada e tal - e essa é uma solução que eu procuraria, no entanto, estou preso ao RHEL e nem o RHEL4 nem o RHEL5 são dessa versão do ssh.
Minha solução atual é adicionar algo assim ao lado do servidor usando a chave do usuário do cliente ...
servidor% cat ~ / .ssh / allowed_keys comando = "cd / srv / rsync / etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa ...
... e assim o cliente ficaria restrito a uma coisa e apenas uma coisa ...
cliente% ssh -T -i $ {HOME} /. ssh / id_rsa [email protected]> sensative.tar
Isso protege a conexão, assim como o servidor (do cliente), no entanto, é ineficiente, pois todos os arquivos serão recuperados repetidamente.
Estou depois de fazer algo semelhante (ou apenas melhor) usando o rsync.
Ok, finalmente descobri isso, mas a solução não é tão elegante quanto eu esperava.
No lado do servidor, você precisa adicionar o seguinte ao arquivo allowed_keys para o usuário relevante ...
No cliente, você pode criar um túnel da seguinte maneira ...
Depois que o túnel é estabelecido, você pode sincronizar como de costume - usando a sintaxe de dois pontos - não é possível - para o host local.
O número da porta localhost você selecionar (8073) são inteiramente opcionais, obviamente, basta lembrar que isso é o que você tem que rsync para ...
fonte
Você pode estar interessado no daemon-over-ssh-mode, que é o assunto desta pergunta:
Não é possível fazer o rsync funcionar no modo daemon-over-ssh
fonte