Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема с использованием ssh2_auth_pubkey_file


Автор: Royan 30.10.2007, 12:13
Вопрос сложный, то такова наша жизнь

Вкратце. Я пытаюсь залогиниться через SSH на удаленную машину. Я могу использовать только ключи (username/пароль не могу использовать). У меня это не получается...

Что сделал перед тем как написать вопрос сюда?

1) Сгенерировал private ключ такой командой:  openssl genrsa -out ~/private.ssh 1024
2) Выделил public ключ с помощью: ssh-keygen -y
3) Добавил public ключ в файл "authorized_keys"
  3.1) Собственно файл имеет следующие права "authorized_keys": -rw-r--r--
4) Попробовал могу ли я залогиниться со своим ключем: ssh -i ~/private.ssh user@<domain>
Оказалось могу!
5) Поскольку на PHP я пишу под виндой скопировал public и private ключи в C:/ssh_keys/php (libssh2 для логина, какого-то пса нужен public ключ, зачем не знаю: http://www.libssh2.org/wiki/index.php/Libssh2_userauth_publickey_fromfile_ex )

Написал следующий тестовый код:
Код

$connection = ssh2_connect('<domain>', 22, array('hostkey'=>'ssh-rsa'));
echo $connection;
echo "<br>processing keys<br>";
echo ssh2_auth_pubkey_file($connection, 'user', 'C:\\ssh_keys\\php\
\public.ssh', 'C:\\ssh_keys\\php\\privat.ssh', "");


Получаю вот такой output
Цитата

Resource id #2
processing keys

Warning: ssh2_auth_pubkey_file() [function.ssh2-auth-pubkey-file]:
Authentication failed for user using public key in C:\eclipse
\workspace_php\PHP_SSH\myssh.php on line 132


Почему происходит "Authentication failed" ума на приложу! Просто больше идей нет. Файлы ключей читаются я это вижу из filemon'а
В общем я буду благодарен любой идее...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)