Como escrever um arquivo em um arquivo via ssh

1

Eu quero escrever um arquivo na Máquina B em

/home/test whose permissions are root:root and rwxr-xr-x.

Eu tenho uma conta na Máquina B, chamada testUser . Quando conectado à Máquina B com esse usuário, posso usar sudo para gravar um arquivo em /home/test .

No entanto, agora desejo usar o comando ssh na Máquina A para solicitar que testUser@MachineB grave um arquivo em /home/test via ssh , mas recebi a mensagem Permission denied ao usar scp para copiar um arquivo para /home/test . Eu quero evitar digitar a senha para que essa ação possa ser feita usando um script. Existe alguma maneira de resolver isso?

A propósito, eu configurei a chave ssh para login sem autenticação de senha.

Está usando setuid em um arquivo executável na Máquina B para gravar um arquivo em /home/test de uma boa maneira?

    
por Marcus Thornton 24.02.2016 / 03:56

1 resposta

1

Você poderia configurar o sudo para permitir o comando cp foo /home/test/ sem uma senha e, em seguida, usar este comando:

ssh testUser@MachineB 'cat > foo && sudo mv foo /home/test/' < my_file

Pipetar dados através de ssh para um comando de sua escolha do outro lado é o truque geral aqui. Provavelmente, você pode encontrar uma dúzia de outras maneiras de atingir sua meta usando variações disso.

    
por 24.02.2016 / 06:33