Не удается подключиться к удаленному серверу с помощью ключа SSH в Laravel 5.5? - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь подключиться к удаленному серверу, используя SSH Key .Я генерирую пару ключей 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_keys - 600, что идеально.

Сначала я подумал, что это может быть проблемой \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
]);

Любая помощь будет принята с благодарностью.Ключи генерируются наверняка, потому что я вижу их в базе данных.

...