无法使用用户名:root,主机:<host_ip>登录

时间:2019-06-03 09:19:18

标签: php laravel ssh ftp sftp

我正在尝试使用laravel通过sftp上传文件。

这是SFTP配置:

SFTP_HOST=X.X.X.X
SFTP_USERNAME=root
SFTP_PASSWORD=
SFTP_KEY_PATH=/root/usr/es_server.pem

config> filesystems.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
    ]

在我的本地计算机上,hostkey相同,这正常工作。

但是从部署的服务器上,我得到了

"Could not login with username: root, host: x.x.x.x"

登录到已部署的服务器,并通过host连接sftp服务器对于root用户和same key而言是有效的。

root@dma:~# sftp -i es_server.pem root@x.x.x.x
Connected to x.x.x.x
sftp> 

我检查了主机服务器上的防火墙是否阻止了已部署的服务器,但未发现任何阻止。

可能是什么问题?我想念什么?

1 个答案:

答案 0 :(得分:1)

最后找到了问题。

该应用程序被拒绝访问SFTP_KEY_PATH中定义的密钥路径。

我将路径设置为应用程序可以访问密钥的位置。

就我而言,SFTP_KEY_PATH=/var/www/html/dma/es_key.pem