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

kyo*_*kyo 6 php ssh sftp laravel laravel-5

我在这里遵循此链接中的所有内容:

Laravel 5.1 SSH

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

笔记:

  • Key 是我通常用来通过 SSH 连接到我的 VM 的密钥。
  • Passphrase 也输入正确。
  • 本地环境 = Mac OS X
  • 用户名 = bheng
  • 私钥已设置为 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,
    ],
],
Run Code Online (Sandbox Code Playgroud)

我尝试了更多选择:

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

'key'       => 'id_rsa',
Run Code Online (Sandbox Code Playgroud)

2.将公钥与设置文件放在同一目录中

'key'       => 'id_rsa.pub',
Run Code Online (Sandbox Code Playgroud)

3. 私钥的完整路径

'key'       => '/Users/bheng/.ssh/id_rsa',
Run Code Online (Sandbox Code Playgroud)

4. 公钥的完整路径

'key'       => '/Users/bheng/.ssh/id_rsa.pub',
Run Code Online (Sandbox Code Playgroud)

用法

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

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


结果

我不断得到

无法连接到远程服务器


问题

我忘记了什么吗?我的配置看起来没问题吗?

如何继续调试呢?

小智 0

Most probably, your private key is not in PKCS1 format. Try to create a copy of your key and convert it:

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

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa_pkcs1
Run Code Online (Sandbox Code Playgroud)

Then use id_rsa_pkcs1 key in Rocketeer.