Exemple #1
0
 /**
  * Creates a ssh session for a given server.
  *
  * @param Server $server
  *
  * @return Session
  */
 public function createFromServer(Server $server)
 {
     $config = new Configuration($server->getHost(), $server->getPort());
     switch (true) {
         case $server->getUsername() && $server->getPassword():
             $auth = new Password($server->getUsername(), $server->getPassword());
             break;
         case $server->getPrivateKey():
             $auth = new PublicKeyFile($server->getUsername(), $server->getPublicKey(), $server->getPrivateKey(), $server->getKeyPhrase());
             break;
         default:
             throw new \DomainException(sprintf('No authentication credentials given for server: %s', $server->getName()));
             break;
     }
     $session = new Session($config, $auth);
     return $session;
 }