Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

436
Visualizações
SSH en el servidor remoto dinámico y ejecute un comando - Laravel 5.8

Estoy usando L 5.8 y tengo un formulario con 3 entradas

ingrese la descripción de la imagen aquí

En este momento, puedo usar SSH en un servidor específico con este paquete laravelcollective/remote": "~5.8 . Necesitaba preconfigurar IP , UN, PW en config/remote.php así:

 'connections' => [ 'production' => [ 'host' => '1.1.1.1', 'username' => 'code', 'password' => '8888', 'key' => '', 'keytext' => '', 'keyphrase' => '', 'agent' => '', 'timeout' => 10, ], ],

Luego, puedo ejecutar fácilmente cualquier comando o incluso encadenarlos

 $commands = ['cd /home/code && ./runMe.sh']; SSH::run($commands, function($line) { echo $line.PHP_EOL; });

Resultado

Mi portal se conectará a ese servidor y ejecutará ese comando con éxito, y lo he verificado.


Ahora

Necesito leerlo desde las entradas del formulario. ¿Es posible usar el mismo complemento y configurar dinámicamente ese archivo remote.php ?

o

¿Debo empezar a buscar en otra cosa porque esto es un callejón sin salida?

Por favor avise,

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puedes usar el ayudante config() aquí:

configuración de ejemplo:

 config([ 'remote.connections.production.host' => $request->input('hostname'), 'remote.connections.production.username' => $request->input('username'), 'remote.connections.production.password' => $request->input('password') ]);

luego llame:

 $commands = ['cd /home/code && ./runMe.sh']; SSH::run($commands, function($line) { echo $line.PHP_EOL; });
over 4 years ago · Santiago Trujillo Relatório

0

Este ejemplo requiere el paquete php-ssh2 y proporciona muchas formas de recuperar el STDOUT de shell remoto como una secuencia. También es genial controlar el shell de la máquina actual y obtener respuestas.

 sudo apt install php-ssh2

O por versión:

 sudo apt install php7.4-ssh2

Ejemplo de uso de ssh2_exec() y ssh2_fetch_stream() :

 <?php $ssh = ssh2_connect('192.162.68.212', 22); // Remote address ssh2_auth_password($ssh, 'root', 'XQA8DCamdEm'); // Credentials $shell = ssh2_shell($ssh, 'xterm'); // Choose remote shell $stream = ssh2_exec($ssh, 'cd /home/code && ./runMe.sh'); // Remote command stream_set_blocking($stream, true); // Wait for multiline output, till EOF $stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO); // SSH2_STREAM_STDERR echo stream_get_contents($stream_out); // Print in real-time

Es posible recuperar solo los errores, esto es excelente para monitorear solo sin analizar toda la salida, usando el indicador SSH2_STREAM_STDERR .

Para escribir cadenas solo en STDERR desde el PHP remoto , podemos usar:

 fwrite(STDERR, "Some logs, from machine (...)\n");

O podemos canalizar los errores directamente en el comando de shell remoto:

cd /home/code && ./runMe.sh 2>

https://www.php.net/manual/en/ref.ssh2.php

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda