gpt4 book ai didi

php - Laravel Flysystem SFTP 连接

转载 作者:搜寻专家 更新时间:2023-10-31 21:28:02 25 4
gpt4 key购买 nike

我尝试跨域保存我的数据,但使用 Campbell 的 flysystem 保存在同一台服务器中。 https://github.com/GrahamCampbell/Laravel-Flysystem

但我无法使用 SFTP 使其工作。这是错误:

   Could not login with username: forge

即使我指定了私钥,但它不起作用。这是我当前的设置:

   'sftp'      => [
'driver' => 'sftp',
'host' => 'xxxx.xxx.xxxx',
'port' => 22,
'username' => 'forge',
'password' => 'xxxxxxxxx',
'privateKey' => '~/putty/privateKey.ppk',
'root' => 'cdn.example.com/public',
'timeout' => 10
],

我已经安装了

   "league/flysystem-sftp": "~1.0"

是否有任何我想念的使用 flysystem 的其他设置,或者是否有更好的方法将上传的文件保存到另一个域?

*更新:我正在使用 Laravel Forge。

谢谢

最佳答案

我也遇到了同样的问题。
从我的终端我可以连接到远程主机。
使用指定的密码或 filesystems.conf 中的私钥内容,这也有效,但无法将私钥设置为路径。
经过一些尝试,我终于解决了它。
我的 laravel 5.8 filesystems.conf

'sftp' => [
'driver' => 'sftp',
'host' => 'HOST',
'username' => 'LOGIN',
'privateKey' => base_path() . '/ssh/myPrivateKey',
'root' => env('MY_PATH'),
'timeout' => 30,
],

我做的蠢事是使用

'privateKey' => 'ssh/myPrivateKey',

相信 Laravel 会找到它。
替换为

'privateKey' => base_path() . '/ssh/myPrivateKey',

一切顺利:)

接下来要做的是允许您的 apache 用户 (www-data/nobody/whatever) 读取此文件。 chown 对此很有帮助。

要在进入 panic 模式之前检查您的 key ,只需尝试在没有任何代理的情况下使用 ssh。

ssh -o IdentitiesOnly=yes -o IdentityFile=/path/to/my/privateKey LOGIN@HOST

感谢https://superuser.com/a/268777/911570对于最后一部分。

关于php - Laravel Flysystem SFTP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33360187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com