Laravel 5.1 SSH - 无法连接到远程服务器

Posted

技术标签:

【中文标题】Laravel 5.1 SSH - 无法连接到远程服务器【英文标题】:Laravel 5.1 SSH - Unable to connect to remote server 【发布时间】:2017-08-01 05:29:56 【问题描述】:

我在这里关注了此链接中的所有内容:

Laravel 5.1 SSH

https://laravelcollective.com/docs/5.1/ssh

注意:

Key 是我通常用来通过 SSH 连接到我的虚拟机的密钥。 Passphrase 也输入正确。 本地环境 = Mac OS X 用户名 = bheng​​li> 私钥已设置为 0600 -rw------- 1 bheng staff 1766 Mar 10 13:25 id_rsa 公钥已设置为 0600 -rw------- 1 bheng staff 1766 Mar 10 13:25 id_rsa.pub

配置

'connections' => [
    'production' => [
        'host'      => '45.55.88.88',
        'username'  => 'root',
        'password'  => '',
        'key'       => '../id_rsa',
        'keytext'   => '',
        'keyphrase' => '*****',
        'agent'     => '',
        'timeout'   => 10,
    ],
],

我尝试了更多选项:

1.将私钥放在与设置文件相同的目录中

'key'       => 'id_rsa',

2。将公钥放在与设置文件相同的目录中

'key'       => 'id_rsa.pub',

3.私钥的完整路径

'key'       => '/Users/bheng/.ssh/id_rsa',

4.公钥的完整路径

'key'       => '/Users/bheng/.ssh/id_rsa.pub',

用法

我尝试运行一个简单的date 命令。

SSH::into('production')->run(['date']);


结果

我一直得到

无法连接到远程服务器


问题

我忘了什么吗? 我的配置看起来还好吗?

如何继续调试呢?

【问题讨论】:

如果你还没有探索过这个途径,请确保你在密钥上设置了正确的权限,并确保运行 Laravel 的用户具有使用该密钥的必要权限. 我在我的 Mac OS 上,以我自己的身份登录,: user : me ,我可以访问密钥。我只是把那个键改成 0600 您可以尝试对它们的关键路径进行硬编码。它可能是从一个意外的目录运行它。 “无法连接到远程服务器”是一个非常模糊的错误。您可能会超时、连接被拒绝或身份验证失败。 @Kenster:增加我的超时设置有帮助吗?我如何知道我是否未能通过身份验证或连接被拒绝?有没有我可以查看的日志文件。 【参考方案1】:

很可能,您的私钥不是 PKCS1 格式。尝试创建密钥的副本并进行转换:

cp ~/.ssh/id_rsa ~/.ssh/id_rsa_pkcs1

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa_pkcs1

然后在 Rocketeer 中使用id_rsa_pkcs1 键。

【讨论】:

以上是关于Laravel 5.1 SSH - 无法连接到远程服务器的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 Visual Studio Code 远程 SSH 连接到 GCP VM

Remmina:无法使用 SSH 连接到远程服务器,但我可以从 shell SSH

无法从 PhpStorm 远程连接到 KINSTA 站点的 MySQL

Laravel 5.1 - 连接到 MySQL 数据库 (MAMP)

使用 SSH 的 Laravel MySql 数据库连接

VS code remote x11 在连接到远程服务器时无法显示