A proxy server makes it possible to reach a SSH server that cannot be contacted directly, such as a host inside a private network or behind restrictive firewall rules. The proxy acts as a relay for the initial TCP connection, while the SSH session stays end-to-end encrypted once the tunnel is established.
In PuTTY, proxy settings live under Connection → Proxy and apply to the current session profile. PuTTY can negotiate through common proxy protocols such as HTTP (CONNECT tunneling) and SOCKS (v4/v5), allowing the SSH transport to be carried through the proxy to the target server and port.
Proxy connectivity depends on policy as much as configuration; the proxy must be permitted to reach the destination port (commonly 22) and may require authentication. DNS resolution also matters: internal hostnames might only resolve from the proxy side, and the proxy handshake may fail before any SSH banner appears if the proxy blocks the request.


HTTP proxies typically require tunneling support (CONNECT), while SOCKS5 is commonly used for generic TCP forwarding.

Enabling Do DNS name lookup at proxy end can be required when the target hostname only exists in the proxy-side network.
Proxy Username and Proxy Password are provided to the proxy during negotiation; avoid reusing privileged credentials on untrusted proxies.




Accepting an unexpected host key can indicate a man-in-the-middle attack or a connection to the wrong server.
Proxy errors typically appear before any SSH banner, while SSH authentication prompts indicate the tunnel is working.