src/Server/SftpServer.php
protected function connect()
    {
        if (!empty($this->conn)) {
            return;
        }

        if (!extension_loaded('ssh2')) {
            throw new ServerException(
                "Unable to initialize sftp storage server, extension 'ssh2' not found"
            );
        }

        $session = ssh2_connect(
            $this->options['host'],
            $this->options['port'],
            $this->options['methods']
        );

        if (empty($session)) {
            throw new ServerException(
                "Unable to connect to remote SSH server '{$this->options['host']}'"
            );
        }

        //Authorization
        switch ($this->options['authMethod']) {
            case self::NONE:
                ssh2_auth_none($session, $this->options['username']);
                break;

            case self::PASSWORD:
                ssh2_auth_password(
                    $session,
                    $this->options['username'],
                    $this->options['password']
                );
                break;

            case self::PUB_KEY:
                ssh2_auth_pubkey_file(
                    $session,
                    $this->options['username'],
                    $this->options['publicKey'],
                    $this->options['privateKey'],
                    $this->options['secret']
                );
                break;
        }

        $this->conn = ssh2_sftp($session);
    }
protected function connect()
    {
        if (!empty($this->conn)) {
            return;
        }

        if (!extension_loaded('ssh2')) {
            throw new ServerException(
                "Unable to initialize sftp storage server, extension 'ssh2' not found"
            );
        }

        $session = ssh2_connect(
            $this->options['host'],
            $this->options['port'],
            $this->options['methods']
        );

        if (empty($session)) {
            throw new ServerException(
                "Unable to connect to remote SSH server '{$this->options['host']}'"
            );
        }

        //Authorization
        switch ($this->options['authMethod']) {
            case self::NONE:
                ssh2_auth_none($session, $this->options['username']);
                break;

            case self::PASSWORD:
                ssh2_auth_password(
                    $session,
                    $this->options['username'],
                    $this->options['password']
                );
                break;

            case self::PUB_KEY:
                ssh2_auth_pubkey_file(
                    $session,
                    $this->options['username'],
                    $this->options['publicKey'],
                    $this->options['privateKey'],
                    $this->options['secret']
                );
                break;
        }

        $this->conn = ssh2_sftp($session);
    }
protected function connect ( ) { if ( ! empty ( $ this -> conn ) ) { return ; } if ( ! extension_loaded ( 'ssh2' ) ) { throw new ServerException ( "Unable to initialize sftp storage server, extension 'ssh2' not found" ) ; } $ session = ssh2_connect ( $ this -> options [ 'host' ] , $ this -> options [ 'port' ] , $ this -> options [ 'methods' ] ) ; if ( empty ( $ session ) ) { throw new ServerException ( "Unable to connect to remote SSH server '{$this->options['host']}'" ) ; } //Authorization switch ( $ this -> options [ 'authMethod' ] ) { case self :: NONE : ssh2_auth_none ( $ session , $ this -> options [ 'username' ] ) ; break ; case self :: PASSWORD : ssh2_auth_password ( $ session , $ this -> options [ 'username' ] , $ this -> options [ 'password' ] ) ; break ; case self :: PUB_KEY : ssh2_auth_pubkey_file ( $ session , $ this -> options [ 'username' ] , $ this -> options [ 'publicKey' ] , $ this -> options [ 'privateKey' ] , $ this -> options [ 'secret' ] ) ; break ; } $ this -> conn = ssh2_sftp ( $ session ) ; }
Ensure that SSH connection is up and can be used for file operations.

@throws ServerException
Ensure that SSH connection is up and can be used for file operations .