> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/privileged-access-manager/ssh-agent/putty-with-pageant-bridge.md).

# Putty with Pageant Bridge

Connect over SSH using Putty via KeeperPAM

<figure><img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FpW4ApzAJDHqObqG5pAhy%2FKeeperPAM%20Integration%20with%20PuTTY.jpg?alt=media&amp;token=7d0e9889-f857-46a1-ac68-d5e48953f911" alt=""><figcaption></figcaption></figure>

Keeper's SSH Agent integrates seamlessly with Putty for authentication, ensuring private keys are securely stored in the Keeper Vault instead of being saved locally on the device. This approach enhances security by protecting sensitive keys from local exposure.

In this guide, we'll configure Putty authentication for use with managed keys secured by Keeper. Using distinct keys for authentication and signing helps maintain a clear separation of roles, further strengthening your security posture.

### Prerequisites

* Ensure that SSH Agent is active on the Keeper Desktop
* Ensure Pageant Bridge is installed

### Pageant Bridge Install

The "Pageant bridge" functions as a translation layer or proxy service, utilizing utilities like wsl-ssh-pageant or winssh-pageant to facilitate communication between PuTTY's [Pageant](https://www.chiark.greenend.org.uk/~sgtatham/putty/) agent and diverse environments, including native Windows OpenSSH, WSL, or Cygwin.

Standard OpenSSH clients and modern Linux/WSL tools cannot natively communicate with PuTTY's Pageant, which relies on a Windows messaging system (WM\_COPYDATA).

#### Install Pagaent via Powershell

```
winget install -e --id NathanBeals.WinSSH-Pageant
```

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2F3VQLKkV867rOg1RLdUju%2Funknown.png?alt=media&amp;token=d6b079ed-5822-4936-b0d0-1d58536e77ed" alt="" height="272" width="624">

{% hint style="info" %}
NOTE: Be mindful of the privileges you install Pageant with. If you utilized an elevated powershell (Admin), you will have to run Putty with admin privileges. If you install Pagaent as local user, Putty too must be run as local user.
{% endhint %}

#### Configure Putty

Configure Putty to utilize Pageant Bridge to pass Keeper Tunnel credentials to Putty. In Putty select Connection -> SSH -> Auth and make sure Attempt authentication using Pageant is selected. Also make sure Allow agent forwarding is selected.

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FY1e4fj322Yg4REC2wO2X%2Funknown.png?alt=media&amp;token=e032aa2d-eaa1-4dcc-ae74-2a768cc2a324" alt="" height="389" width="398">

#### Configure Keeper Desktop

Now login to your Keeper Desktop Application, select the endpoint you are attempting to connect to and start your tunnel.

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FciVmmaD14cJzVMHDOgiQ%2Funknown.png?alt=media&amp;token=1e4ad927-23b7-4b76-b1be-4b78db7356d9" alt="" width="377">

Next make sure your SSH Agent is started and sharing the credentials of the endpoint your are connecting to (Select the circled “?” next to the SSH command):

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FEh0Yrpgc3GpXVK795SHD%2Funknown.png?alt=media&amp;token=7c091227-a554-4da6-8d44-754094bb7016" alt="" height="68" width="456">

Now you should see the Agent settings and credentials:

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FUHTK3eU80wrRnyY4h1xi%2Funknown.png?alt=media&amp;token=93672dd6-60e5-4942-9c47-fe19566abaf0" alt="" width="444">

In putty set the local host and port. Make sure to use USERNAME\@127.0.0.1 (In this example linuxuser):

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FQkJiMv1WSpi6h5KULqXY%2Funknown.png?alt=media&amp;token=cec26982-ed59-4223-9523-96af62e14e89" alt="" height="454" width="453">

{% hint style="info" %}
NOTES: \
\
You can also enter the username in the Putty settings by Connection -> Data and under Auto-login username: USERNAME without setting it in the hostname field.\
\
1st Time Launch you will receive a pop-up from Keeper asking to authorize access to your key. You can authorize and select DOn’t ask again to suppress this on subsequent logins.
{% endhint %}

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FEWNfusceS1YNrDMbq4lV%2Funknown.png?alt=media&amp;token=f1dfd2dd-1ca0-4969-ad32-13c8dae6d7f8" alt="" width="334">

Launch the Putty connection and the SSH agent will deliver the SSH key for authentication.

<img src="https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FkzRxGAG7OZlZrFsy2KUK%2Funknown.png?alt=media&amp;token=f3418bd5-5863-476a-a21a-257f3075fded" alt="" height="417" width="624">


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/privileged-access-manager/ssh-agent/putty-with-pageant-bridge.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
