Ssh ile uzak sunucuya bağlanmak ve bir dosya almak istiyorsunuz terminalde çalışan bir php script yapmaya çalışıyorum. Bu şimdiye kadar benim kodu
#!/usr/bin/php -q
<?php
$cwd = dirname(__FILE__).'/';
$filename = 'retrive-this.file';
$host = 'hostip';
$connection = ssh2_connect($host, 22, array('hostkey'=>'ssh-rsa'));
$methods = ssh2_auth_pubkey_file($connection, 'remoteuser',
$cwd.'ssh/id_rsa.pub',
$cwd.'ssh/id_rsa', "it's an inception");
var_dump($methods);
//ssh2_scp_recv($connection, "/remote/server/path/to/$filename", $cwd.$filename);
?>
Ben bu döndürür komut dosyasını çalıştırdığınızda şimdi ben ssh2_auth_pubkey_file()
fonksiyonu ile sorun yaşıyorum:
PHP Warning: ssh2_auth_pubkey_file(): Authentication failed for remoteuser using public key in /home/tonyl/Projects/get-file-ssh.php on line 10
bool(false)
Anahtar dosyaları izni -rw-r--r--
(644) var. Ayrıca kamu anahtar zaten remoteuser yetkili tuşları eklenir. Ben normal ssh komutunu kullanarak ssh mümkün duyuyorum, bu yüzden bir ssh yetkilendirme sorun olduğunu sanmıyorum, ama kim bilir. Ssh ve ssh2 php kütüphanesine yeni duyuyorum.
Ben uzak sshd_config dosyasında etkinleştirmek eğer ssh2_auth_password()
kullanarak bağlanabilirsiniz, ama güvenlik tranfer azalır beri bunu yapmak istemiyorum.
Ben ne yapabilirim herhangi bir fikir.