'', 'public_key' => ''); if ($this->canGenerateKeys()) { shell_exec('ssh-keygen -q -t rsa -b 2048 -f '.$keyFile.' -N "" -C "deploy@phpci"'); $pub = file_get_contents($keyFile . '.pub'); $prv = file_get_contents($keyFile); if (!empty($pub)) { $return['public_key'] = $pub; } if (!empty($prv)) { $return['private_key'] = $prv; } } return $return; } /** * Checks whether or not we can generate keys, by quietly test running ssh-keygen. * @return bool */ public function canGenerateKeys() { $keygen = @shell_exec('ssh-keygen --help'); $canGenerateKeys = !empty($keygen); return $canGenerateKeys; } }