Witam,
Tak jak w temacie, potrzebuje php'em nawiązać połączenie ssh do drugiego serwera przy pomocy phpseclib lub klasycznego scp w celu przekopiowania plików na serwer.
Lokalnie (xampp) wszystko działa bezproblemowo:
  1. include('Net/SSH2.php');
  2.  
  3. $ssh = new Net_SSH2('www.domain.tld');
  4. if (!$ssh->login('username', 'password')) {
  5. exit('Login Failed');
  6. }
  7.  
  8. echo $ssh->exec('pwd');
  9. echo $ssh->exec('ls -la');

Wrzucając skrypt na serwer już nie jest w stanie się połączyć.
Próbowałem kombinacje z użyciem tej klasy RSA ale też bez skutku.
  1. include('Net/SSH2.php');
  2. include('Crypt/RSA.php');
  3.  
  4. $ssh = new Net_SSH2('www.domain.tld');
  5. $key = new Crypt_RSA();
  6. $key->setPassword('whatever');
  7. $key->loadKey(file_get_contents('privatekey'));
  8. if (!$ssh->login('username', $key)) {
  9. exit('Login Failed');
  10. }
  11.  
  12. echo $ssh->exec('pwd');
  13. echo $ssh->exec('ls -la');

Kombinowałem z:
  1. extract($rsa->createKey());
  2. $rsa->loadKey('...');
  3. $rsa->setPassword();
  4. $privatekey = $rsa->getPrivateKey();
  5. $publickey = $rsa->getPublicKey();

ale też bez skutku.

Chyba że znacie jakiś inny sposób.
Przy zwykłym wywyołaniu z exec,system polecenia ssh, zatrzymuje się przy:


The authenticity of host '10.180.180.212 (10.180.180.212)' can't be established.
ECDSA key fingerprint is 04:41:f8:c4:94:a4:99:cd:fd:ce:2f:6f:4f:ef:aa:7e.
Are you sure you want to continue connecting (yes/no)?

Albo znajdę rozwiązanie na około...albo tym phpseclib ale z wykombinowaniem jak wygenerować i poprawnie użyć tych kluczy.

Proszę o pomoc.