connected == false && $this->authenticated == false) { try { $this->Connect(); $this->DoCommand($command); } catch (SshConnectException $e) { $error = $e->getMessage(); throw new SshCommandException("Could not run command {$command}: Failed to connect: {$error}"); } catch (SshCommandException $e) { $error = $e->getMessage(); throw new SshCommandException($error); } } else { try { $this->DoCommand($command); } catch (SshCommandException $e) { $error = $e->getMessage(); throw new SshCommandException($error); } } } public function Connect() { $options = array( 'hostkey' => $this->keytype ) if($this->connection = ssh2_connect($this->host, $this->port, $options)) { if(ssh2_auth_pubkey_file()) } else { throw new SshConnectException("Could not connect to {$this->host}:{$this->port}: {$error}"); } } private function DoCommand() { } } ?>