# Install SSH Client

The Pritunl Zero SSH client is available on Linux and macOS. The client is a small Python script used to retrieve the SSH certificate from the Pritunl Zero server. The source code is available in the [**pritunl-zero-client**](https://github.com/pritunl/pritunl-zero-client) repository.

### OpenSSH 7.8

Starting with OpenSSH ECDSA or ED25519 client keys must be used. These can be generate with the command `ssh-keygen -t ed25519`.

### Usage

To use the client first generate an SSH key by running `ssh-keygen -t ed25519`. A separate key should be used for Pritunl Zero. Then run the command `pritunl-ssh`, enter the hostname of the Pritunl Zero user web console and select the SSH key created earlier. The client will open a web page to approve the SSH key. If using on a remote server the `cmd+double click` can be used to open the link. Once done the SSH key will be ready to use until the certificate expires. Running the command `pritunl-ssh` will renew the certificate if it has expired. The command `pritunl-ssh renew` can be used to force a certificate renewal.

### macOS

Homebrew must first be installed. Once installed add the [**pritunl/tap**](https://github.com/pritunl/homebrew-tap) tap. Then install the [**pritunl-ssh**](https://github.com/pritunl/homebrew-tap/blob/master/pritunl-ssh.rb) formula.

```shell
brew tap pritunl/tap
brew install pritunl-ssh
```

### Linux

Install the `pritunl-ssh` package on Linux. Refer to the [Repositories](doc:repo) page for a list of available repositories.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pritunl.com/kb/zero/general/ssh-client.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
