Я пытаюсь сделать сценарий PHP, который работает на терминале, который соединился бы с удаленным сервером ssh и получил бы файл. это - мой код до сих пор
#!/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);
?>
на данный момент у меня есть проблемы с ssh2_auth_pubkey_file()
функция, когда я запускаю скрипт, он возвращает это:
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)
Файлы ключей имеют разрешение -rw-r--r--
(644). Также открытый ключ уже добавляется к авторизованным ключам remoteuser. Я могу к ssh использование команды ssh как нормальное, таким образом, я не думаю, что это - ssh проблема авторизации, но кто знает. Я плохо знаком с ssh и библиотекой ssh2 php.
Я могу соединить использование ssh2_auth_password()
если я включаю его в удаленном sshd_config файле, но я не хочу делать это, так как это уменьшает передачу безопасности.
Любые идеи того, что я могу сделать.