laravel-remote-commands maintained by iperamuna
Description
Remote SSH Access for the Laravel Framework via phpseclib.
Author
Last update
2026/03/07 06:33
(dev-main)
License
Downloads
19
Laravel Remote Commands
✨ A lightweight Laravel package that enables executing commands on remote servers over SSH using phpseclib. Designed for Laravel developers who need a simple and secure way to run remote commands — no file transfers, just command execution.
📦 Installation
composer require iperamuna/laravel-remote-commands
Configuration
Publish the configuration file:
php artisan vendor:publish --tag="remote-commands-config"
Configure your servers in config/remote-commands.php:
'servers' => [
'production' => [
'host' => '1.2.3.4',
'port' => 22,
'username' => 'deploy',
'auth_type' => 'key', // 'password' or 'key'
'password' => '',
'key' => '/path/to/id_rsa', // Path to public / private key file
'keytext' => '', // OR direct content of public / private key
'passphrase' => '', // Optional key passphrase
],
],
Usage
Using the Facade
use LaravelRemoteCommands\Facades\RemoteCommand;
// Run commands and get output as an array
$output = RemoteCommand::into('production')->run([
'cd /var/www/html',
'ls -la',
]);
foreach ($output as $line) {
echo $line . PHP_EOL;
}
// Or stream output via callback
RemoteCommand::into('production')->run([
'git pull origin main',
], function($line) {
Log::info("Deployment: " . $line);
});
Diagnostics
You can test your connectivity and prompt detection using the built-in diagnostic command:
php artisan remote:diagnostic {server_name}
📜 License
This package is open-source software licensed under the MIT license.
🙋♀️ Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
📣 Credits
Made with ❤️ by Indunil Peramuna
Built for Laravel developers who want to run commands on remote servers.