Php Ssh Connection Save

Provides an elegant syntax to connect to SSH servers and execute commands.

Project README

PHP SSH Connection

Build Status Coverage Status

The PHP SSH Connection package provides an elegant syntax to connect to SSH servers and execute commands. It supports both password and public-private keypair authentication, and can easily capture command output and errors.

Installation

You can install the PHP SSH Connection package by running the following Composer command.

composer require divineomega/php-ssh-connection

Usage

See the following basic usage instructions.

$connection = (new SSHConnection())
            ->to('test.rebex.net')
            ->onPort(22)
            ->as('demo')
            ->withPassword('password')
         // ->withPrivateKey($privateKeyPath)
         // ->timeout(0)
            ->connect();

$command = $connection->run('echo "Hello world!"');

$command->getOutput();  // 'Hello World'
$command->getError();   // ''

$connection->upload($localPath, $remotePath);
$connection->download($remotePath, $localPath);

For security, you can fingerprint the remote server and verify the fingerprint remains the same upon each subsequent connection.

$fingerprint = $connection->fingerprint();

if ($newConnection->fingerprint() != $fingerprint) {
    throw new Exception('Fingerprint does not match!');
}

If you wish, you can specify the type of fingerprint you wish to retrieve.

$md5Fingerprint  = $connection->fingerprint(SSHConnection::FINGERPRINT_MD5); // default
$sha1Fingerprint = $connection->fingerprint(SSHConnection::FINGERPRINT_SHA1);
Open Source Agenda is not affiliated with "Php Ssh Connection" Project. README Source: DivineOmega/php-ssh-connection
Stars
102
Open Issues
5
Last Commit
10 months ago

Open Source Agenda Badge

Open Source Agenda Rating