SCP通过php脚本将文件从localhost传输到sftp服务器

时间:2010-09-21 05:16:18

标签: php passwords sftp scp

嗨试图使用scp将文件发送到另一台服务器..不能使用sftp,因为它没有安装在我的服务器上,所以我得到了ssh2_connect找不到的功能。

所以我唯一的选择,因为我可以看到它是scp。 现在问题来了,我不能在php scp脚本中包含我的密码。

即:

scp filename username:passwor@server:filename

它给出了服务器用户名不存在的错误 如果我在没有密码的情况下使用它

scp filename username@server:filename

它提示我输入密码

PS:我首先在localhost上的命令行中测试脚本,以获取错误消息。

有什么建议吗?

TA

2 个答案:

答案 0 :(得分:2)

如果你不能使用SFTP二进制文件,你可以使用phpseclib - 一个纯PHP的SFTP实现:

http://phpseclib.sourceforge.net/

答案 1 :(得分:0)

Kevin,如果您的服务器上没有安装PHP SSH2扩展,那么最好的办法是在您有权访问的情况下在其他服务器上设置公钥/私钥验证。然后你可以将私钥保存在PHP服务器上,并在你的scp命令上传递-i,如下所示:

scp -i /var/www/htdocs/myphpproject/rsakey filename username@server:filename