> For the complete documentation index, see [llms.txt](https://windows.dfirhandbook.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windows.dfirhandbook.com/windows-artifacts/processes/putty.exe.md).

# PuTTy.exe

PuTTY is an open-source terminal emulator, serial console, and network file transfer application. It supports several network protocols, including SSH, Telnet, SCP, and SFTP, making it a versatile tool for remote administration of systems. Below is a detailed exploration of PuTTY, including its functionalities, usage examples, common file paths, and behaviors.

**Overview**

* <mark style="color:yellow;">**Executable Path**</mark>: Typically, `PuTTY.exe` is located in the directory where it was installed or downloaded, often directly accessed by the user rather than being installed in a system directory.
  * If installed, its likely in the `C:\Program Files` folder.&#x20;
* <mark style="color:yellow;">**Parent Process**</mark>: As a standalone application, the parent process is usually `explorer.exe` or a command shell from which it was launched.
* <mark style="color:yellow;">**Number of Instances**</mark>: There can be multiple instances running simultaneously, each managing a separate connection.
* <mark style="color:yellow;">**User Account**</mark>: Runs under the context of the user who initiated the application.
* <mark style="color:yellow;">**Start Time**</mark>: Starts when the user initiates an SSH or another protocol connection.
* <mark style="color:yellow;">**Description**</mark>: PuTTY provides a user interface to remotely access computers over various network protocols. It is widely used for secure shell access to Unix and Linux systems.

**Key Functions**

* **SSH Connections**: Secure Shell (SSH) for secure access to remote servers.
* **Telnet Connections**: Telnet for unencrypted communication with remote servers.
* **SCP/SFTP**: Secure file transfer protocols used for secure file transfers between systems.
* **Serial Console Access**: Provides serial port connections for devices like routers and switches.

**Command Line Examples**

PuTTY's versatility is partly due to its support for various command-line arguments that allow users to initiate connections with specific parameters directly.

* **SSH Connection** connects to `hostname` as `username` over SSH on port 22.:

```bash
putty.exe -ssh username@hostname -p 22 
```

* **Telnet Connection** initiates a Telnet connection to `hostname` on port 23:

```bash
putty.exe -telnet hostname 23
```

* **Serial Connection** connects to a serial device on COM1 with the specified serial configuration:

```bash
putty.exe -serial COM1 -sercfg 9600,8,n,1,X
```

* **Loading a Saved Session** loads a pre-configured session with all its settings:

```bash
putty.exe -load "session name"
```

* **SSH with Key Authentication** uses a private key for SSH authentication:

```bash
putty.exe -ssh username@hostname -i "C:\Windows\Users\Admin\private_key.ppk"
```

**Common File Paths**

* **Configuration Storage**: PuTTY does not require installation and stores its configuration data in the Windows Registry under `HKEY_CURRENT_USER\Software\SimonTatham\PuTTY`.
* **Portable Use**: Often found on USB drives for portable applications, with configurations stored within the same directory or the user's profile directory.
* **Log Files**: Users can configure PuTTY to save session logs to a specified path, commonly within the user’s document folder or a designated logs directory.

**Behavior**

* **Session Management**: PuTTY allows users to save session configurations for quick access to frequently used connections.
* **Security**: Provides robust encryption for data transmitted over network connections, ensuring secure communication.
* **Interoperability**: Compatible with a wide range of SSH servers and supports various encryption algorithms and authentication methods.
