Looking to hire Laravel developers? Try LaraJobs

laravel-remote-commands maintained by iperamuna

Description
Remote SSH Access for the Laravel Framework via phpseclib.
Last update
2026/03/07 06:33 (dev-main)
License
Links
Downloads
19

Comments
comments powered by Disqus

Laravel Remote Commands

Latest Version on Packagist Total Downloads License

✨ 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.