我正在尝试使用 laravel 通过 sftp
上传文件。
这是 SFTP 配置:
SFTP_HOST=X.X.X.X
SFTP_USERNAME=root
SFTP_PASSWORD=
SFTP_KEY_PATH=/root/usr/es_server.pem
配置>文件系统.php
'sftp' => [
'driver' => 'sftp',
'host' => env('SFTP_HOST'),
'port' => 22,
'username' => env('SFTP_USERNAME'),
'root' => '/uploads/',
'privateKey' => env('SFTP_KEY_PATH'),
'visibility' => 'public',
'permPublic' => 0755,
'directoryPerm' => 0755
]
这在我的本地运行正常,具有相同的主机
和 key
。
但是从部署的服务器上,我得到了这个
"Could not login with username: root, host: x.x.x.x"
登录到已部署的服务器,并通过 sftp
连接 host
服务器对于 root
用户和相同的 key 有效
.
root@dma:~# sftp -i es_server.pem <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f2809d9d86b28adc8adc8adc8a" rel="noreferrer noopener nofollow">[email protected]</a>
Connected to x.x.x.x
sftp>
我检查了主机服务器上的防火墙是否阻止了部署的服务器,但没有发现任何阻止。
可能是什么问题?我错过了什么?
最佳答案
终于找到问题了。
应用程序被拒绝访问 SFTP_KEY_PATH
中定义的 key 路径。
我设置了应用程序可以访问 key 的路径。
就我而言,SFTP_KEY_PATH=/var/www/html/dma/es_key.pem
。
关于php - 无法使用用户名 : root, 主机登录:<host_ip>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56424364/