/**
* 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;
}