/** * Authenticate with public key * * @param string $publicKeyFile * @param string $privateKeyFile * @param string $passPhrase * * @return Builder */ public function identityFile($publicKeyFile = '~/.ssh/id_rsa.pub', $privateKeyFile = '~/.ssh/id_rsa', $passPhrase = '') { $passPhrase = $this->checkPassword($passPhrase); if (is_null($publicKeyFile)) { // Use default value $publicKeyFile = '~/.ssh/id_rsa.pub'; } if (is_null($privateKeyFile)) { // Use default value $privateKeyFile = '~/.ssh/id_rsa'; } if (is_null($passPhrase)) { // Ask pass phrase before connection $passPhrase = AskPasswordGetter::createLazyGetter(); } $this->config->setAuthenticationMethod(Configuration::AUTH_BY_IDENTITY_FILE); $this->config->setPublicKey($publicKeyFile); $this->config->setPrivateKey($privateKeyFile); $this->config->setPassPhrase($passPhrase); return $this; }