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
Он отлично работает для меня.