phpseclib - SSH_AUTH_SOCK не найден

Я работаю с другой компанией, которая переходит с обычного FTP на SFTP для своих соединений. Они сообщили мне, что мои существующие имя пользователя и пароль совпадают, но теперь мне нужно подключиться через SFTP через порт 22. У меня есть пара сценариев PHP, которые выполняют некоторые базовые функции, такие как подключение к их сайту, получение списка каталогов. и загружать и скачивать файл каждый день. Все они отлично работают на FTP, поэтому мне нужно просто поменять протокол на SFTP.

После некоторого исследования мы пришли к выводу, что phpseclib - это самый простой и надежный способ выполнения SFTP с использованием PHP. Мой сервер работает под управлением Linux и Apache. Я скачал библиотеку и попытался запустить только базовый пример, приведенный phpseclib, но получаю ошибку:

Примечание: SSH_AUTH_SOCK не найден в System/SSH/Agent.php в строке 244

Когда я смотрю на Agent.phpВижу, что скрипт ищет SSH_AUTH_SOCK быть определенным в любом $_SERVER или же $_ENV, Должно быть, я упускаю что-то очевидное, но я не знаю, как обойти эту ошибку.

1 ответ

Решение

Вы пытаетесь подключиться к агенту аутентификации SSH (ssh-agent).

Когда агент запущен, он экспортирует SSH_AUTH_SOCK переменная окружения.

Что явно не происходит в вашем случае.

Но вы не сказали нам, почему вы пытаетесь использовать агента, если вообще. И что вы сделали, чтобы настроить его, если что-нибудь. Поэтому трудно дать вам более конкретный совет.

Смотрите также Как SSH_AUTH_SOCK настроен и используется ssh-agent?

Выполните следующую команду:

оценка ssh-agent -s

Он отлично работает для меня.

Другие вопросы по тегам