我正在尝试更改旧的代码段,该代码段将ftp_login()
与用户名和密码一起使用,以代替使用我在服务器上安装的ssh密钥。
我发现phpseclib似乎可以做到这一点,但是它要求我重写代码的整个部分(例如ftp_put()
必须变成$sftp->put()
)并安装该库。理想情况下,我只需要替换ftp_login()
,就不需要安装任何东西。
在我的研究中我没有遇到过类似的事情,但这几乎并不意味着它不存在。有人知道不是phpseclib的基于ftp_login()
的基于密钥的替代方法吗?
答案 0 :(得分:2)
PHP ftp_*
函数实现FTP协议。公钥认证与SFTP协议(基于SSH)一起使用。
SFTP是与FTP完全不同的协议。因此,绝对不可能,您可以将ftp_*
函数用于SFTP(仅用于公共密钥身份验证)。
对于SFTP(即使没有公共密钥身份验证),也必须使用一组不同的功能,例如phpseclib或PHP SSH2。这确实意味着对代码的完全重写。