WP_Filesystem_SSH2::connect() – Connects filesystem.

You appear to be a bot. Output may be restricted

Description

Connects filesystem.

Usage

$bool = WP_Filesystem_SSH2::connect();

Parameters

Returns

bool True on success, false on failure.

Source

File name: wordpress/wp-admin/includes/class-wp-filesystem-ssh2.php
Lines:

1 to 65 of 65
  public function connect() {
    if ( ! $this->keys ) {
      $this->link = @ssh2_connect( $this->options['hostname'], $this->options['port'] );
    } else {
      $this->link = @ssh2_connect( $this->options['hostname'], $this->options['port'], $this->options['hostkey'] );
    }

    if ( ! $this->link ) {
      $this->errors->add(
        'connect',
        sprintf(
          /* translators: %s: hostname:port */
          __( 'Failed to connect to SSH2 Server %s' ),
          $this->options['hostname'] . ':' . $this->options['port']
        )
      );

      return false;
    }

    if ( ! $this->keys ) {
      if ( ! @ssh2_auth_password( $this->link, $this->options['username'], $this->options['password'] ) ) {
        $this->errors->add(
          'auth',
          sprintf(
            /* translators: %s: Username. */
            __( 'Username/Password incorrect for %s' ),
            $this->options['username']
          )
        );

        return false;
      }
    } else {
      if ( ! @ssh2_auth_pubkey_file( $this->link, $this->options['username'], $this->options['public_key'], $this->options['private_key'], $this->options['password'] ) ) {
        $this->errors->add(
          'auth',
          sprintf(
            /* translators: %s: Username. */
            __( 'Public and Private keys incorrect for %s' ),
            $this->options['username']
          )
        );

        return false;
      }
    }

    $this->sftp_link = ssh2_sftp( $this->link );

    if ( ! $this->sftp_link ) {
      $this->errors->add(
        'connect',
        sprintf(
          /* translators: %s: hostname:port */
          __( 'Failed to initialize a SFTP subsystem session with the SSH2 Server %s' ),
          $this->options['hostname'] . ':' . $this->options['port']
        )
      );

      return false;
    }

    return true;
  }
 

 View on GitHub View on Trac