无法使用Laravel5.5中的ssh密钥连接到远程服务器?

zujrkrfu  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(257)

我正在尝试使用ssh密钥连接远程服务器。我正在使用生成ssh密钥对 phpseclib 2.0 我把钥匙储存在数据库里。以下是我如何尝试连接。

Config::set('remote.connections.production.host',$server->ip);
Config::set('remote.connections.production.username',$server->username);
Config::set('remote.connections.production.keytext',$server->meta()->where('meta_key','private_key')->first()->meta_value);

我拥有与我在远程服务器中使用的私钥对应的公钥 ~/.ssh/authorized_keys 文件。的权限 .ssh 目录为 700 和权限 authorized_keys600 太完美了。
首先我想这可能是一个 \r\n 但后来我想把所有的 \r\n 从私钥连接之前,但我仍然得到 unable to connect to remote server . 我不知道问题出在哪里。最近两天我一直在努力,但运气不好。
我认为ssh密钥一旦进入数据库就会被破坏。下面是如何在数据库中生成和存储ssh密钥对。

$rsa = new RSA();
$rsa->setPublicKeyFormat(RSA::PUBLIC_FORMAT_OPENSSH);
$keys = $rsa->createKey(2048);
$privateKey = $keys['privatekey'];
$publicKey = $keys['publickey'];

$server->meta()->create([
     'meta_key' => 'private_key',
     'meta_value' => $privateKey
]);

$server->meta()->create([
    'meta_key' => 'public_key',
    'meta_value' => $publicKey
]);

任何帮助都将不胜感激。密钥正在生成,因为我可以在数据库中看到它。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题