Executing Chamada do sistema em PHP para executar o SCP pede senha toda vez, mesmo que a chave SSH esteja configurada

0

Então, estou criando um script PHP que carrega uma imagem do meu ambiente local para um servidor remoto. Eu tenho minhas chaves SSH configuradas em ambas as extremidades e se eu simplesmente executar o comando scp no terminal às vezes ele não pede senha e às vezes isso acontece. Além disso, por algum motivo, demora cerca de 30 a 60 segundos para retornar um resultado do comando scp .

<?php 
    $result = system("scp /home/pi/camImage1.jpg username@<myserver>:~/public_html/folder1/innerfolder/camImage.jpg");
    echo $result;
?> 

Sempre que eu uso no lado do php, ele sempre pede senha. Alguma sugestão sobre o que diabos está acontecendo?

    
por Georgi Angelov 04.01.2014 / 20:43

1 resposta

0

Como seu usuário normal, eu vou adivinhar que você tem a chave ssh no menory (ssh-agent), por isso não requer uma senha após a primeira conexão. Ao executar o comando scp com php você não especificou uma chave, então meu palpite é que você está sendo perguntado a senha de login do usuário e não a chave ssh.

IMO, se você deseja executar este comando via php, aconselho que você faça uma chave sem senha e no servidor desabilite o login via senha. Você então especifica uma chave com o comando scp.

scp -i /home/pi/.ssh/your_key ...

para obter informações adicionais sobre o uso de chaves, desabilitar a autenticação de senha, consulte a documentação da sua distribuição.

    
por 04.01.2014 / 21:38