我試圖連接到SFTP服務器並通過php上傳文件。將文件上傳到SFTP服務器
我已經安裝了PHP LIB(php_ssh2),但它的失敗在這一點上:
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
?>
最後一行返回false和下面的警告顯示在日誌:
Warning: ssh2_sftp(): Unable to startup SFTP subsystem: Unable to request SFTP subsystem
我不知道它是否與當我嘗試通過命令行使用sftp命令連接到同一服務器時得到的錯誤有關:
sftp error subsystem request failed on channel 0
我試着更換線上子系統SFTP/usr/lib目錄/ openssh的/我的sshd_config通過內部SFTP像有些人建議的,但它沒有工作(我預計,因爲我認爲這是用於連接SFTP服務器到本地SFTP服務器)
我試着重新安裝openssh的客戶端和OpenSSH服務器(雖然我覺得最後一個人不應該是必須的,因爲服務器是外部主機)。
我試圖用Filezilla登錄到SFTP,一切正常。
而且,我已經試過phpseclib,但它給了一個錯誤的登錄,即使有正確的憑據。
所以,我無法既不PHP也不通過命令行來上傳文件到SFTP服務器。
你有排隊我在這裏失蹤?
編輯:
的phpseclib日誌太長,我在這裏粘貼它(請告訴我如何將其連接的情況下,它是不允許放這種鏈接): http://pastebin.com/Kkw027nR
這是FileZilla的日誌http://pastebin.com/6u90646Q,我注意到,也許問題與這兩條線相關的,但我不知道:
2013-05-07 08:16:15 2704 3 Traza: Opened channel for session
2013-05-07 08:16:15 2704 3 Traza: Primary command failed; attempting fallback
謝謝 哈維爾
請分享FileZilla中登錄 – 2013-05-06 12:24:46
此外,共享phpseclib日誌。 PHP的libssh2綁定不會記錄原始SSH數據包,但是phpseclib可以。 – neubert 2013-05-06 20:15:34
我附上了phpseclib日誌。我無法從這裏提供FileZilla,我明天就會提供。順便謝謝你。 – 2013-05-06 21:38:59