scp funciona a partir da linha de comando, mas não do shell script - permissão negada

0

Estou migrando algumas pastas iniciais de uma caixa do Linux para outra usando o scp. Salvei minha chave pública no arquivo authorized_keys da caixa de destino e o seguinte comando funciona perfeitamente quando eu digito na linha de comando:

scp myArch.tar root@myOtherServer:/root/dumps

... no entanto, quando eu coloco isso em um script assim ...

#!/bin/bash
tar -cf /tmp/$1.tar $1; wait
scp /tmp/$1.tar root@myOtherServer:/root/dumps

.. e chamá-lo passando um nome de pasta como um parâmetro, eu recebo o seguinte erro.

[root@myHost home]# /root/migrate myHomeFolder
Permission denied (publickey).
lost connection

Alguma idéia do que poderia ser o problema?

    
por Xoundboy 09.10.2011 / 12:07

2 respostas

0

tente executar o script com o sudo ./script.sh pode ser porque você está escrevendo para / root

    
por 09.10.2011 / 12:28
0

O mais provável é que o shebang tenha iniciado uma nova instância do shell bash, no qual o agente ssh não foi configurado. Para ter certeza, você pode adicionar a seguinte linha ao topo do seu script:

ssh-add -l >> $HOME/ssh.log 2>&1

execute o script e verifique o que você obtém no ssh.o

    
por 21.06.2013 / 18:47