PuTTY je emulátor terminálu, který může fungovat jako klient pro protokoly SSH, Telnet, rlogin a raw TCP. Slovo "PuTTY" nemá žádný význam, ačkoli "tty" se někdy používá pro označení unixových terminálů jako zkratka pro "teletype".

PuTTY byl nejprve napsán pro Microsoft Windows, ale byl portován i na jiné operační systémy včetně některých platforem podobných Unixu. Na operační systémy Mac OS a Mac OS X se stále portoval, zatímco neoficiální porty byly přeneseny na operační systémy Symbian a Windows Mobile.

PuTTY je aktivně vyvíjen a pravidelně aktualizován. Je licencován pod licencí MIT a jedná se o svobodný software s otevřeným zdrojovým kódem.

Hlavní součásti balíku PuTTY

  • putty – hlavní GUI/CLI aplikace pro interaktivní připojení přes SSH, Telnet, rlogin, serial nebo raw TCP; umožňuje konfigurovat profily a ukládat relace.
  • pscp – příkazový nástroj pro kopírování souborů přes SSH (podobný scp).
  • psftp – interaktivní SFTP klient pro přenosy souborů přes SSH.
  • plink – příkazový klient vhodný pro skriptování a spouštění vzdálených příkazů z příkazové řádky.
  • puttygen – generátor a správce klíčů (RSA, DSA, ECDSA, Ed25519), umožňuje konverzi klíčů mezi formáty.
  • pageant – SSH agent pro Windows, který uchovává soukromé klíče v paměti a poskytuje je PuTTY a dalším nástrojům.

Funkce a vlastnosti

  • Podpora protokolů SSH-1 a SSH-2 (SSH-1 je zastaralý a nedoporučuje se používat).
  • Podpora moderních algoritmů šifrování a autentizace, včetně RSA, DSA, ECDSA a Ed25519 (v závislosti na verzi PuTTY).
  • Ukládání nastavení relací (seznam profilů), možnost exportu/importu konfigurace a přizpůsobení vzhledu terminálu (písmo, barvy, velikost okna).
  • Terminálová emulace – podpora základních režimů VT100/VT102 a částečné emulace xterm; přizpůsobitelné mapování kláves a ovládání kurzoru.
  • Port forwarding (tunelování) – lokální, vzdálené a dynamické (SOCKS) přesměrování portů přes SSH.
  • Možnost připojení přes sériový port (užitečné pro správu síťových zařízení), podpora IPv6, keep-alive, logování relací a konfigurace časových limitů.
  • Podpora X11 forwarding (přeposílání X11) při použití externího X serveru (např. Xming, VcXsrv) na straně klienta.

Bezpečnostní poznámky

  • PuTTY ověřuje hostitelské klíče při prvním připojení a následně porovnává uložený klíč – při změně klíče zobrazí varování. Je důležité ověřovat změny klíčů, aby se předešlo útokům typu man-in-the-middle.
  • SSH-1 je považován za nebezpečný; preferujte SSH-2 a moderní algoritmy (např. Ed25519 nebo ECDSA, pokud je to podporováno serverem).
  • Pravidelně aktualizujte PuTTY na nejnovější verzi kvůli bezpečnostním opravám a zlepšením podpory kryptografie.

Použití a integrace

Na Windows je PuTTY jedním z nejrozšířenějších klientů pro přístup k unixovým serverům, protože nevyžaduje instalaci celé sady nástrojů a nabízí jednoduché rozhraní. Konfigurace relací se běžně ukládá do registru Windows, ale existují i přenosné verze, které nastavení ukládají do souborů. Díky nástrojům jako plink, pscp a psftp lze PuTTY integrovat do skriptů a automatizovaných procesů.

Historie a vývoj

PuTTY původně vyvinul Simon Tatham a komunitní přispěvatelé pravidelně přidávají opravy, nové funkce a porty na jiné platformy. Díky otevřenému zdrojovému kódu se objevily i neoficiální buildy a porty pro různé systémy, včetně mobilních platforem a unixových variant.

Tipy pro uživatele

  • Pro ukládání soukromých klíčů používejte puttygen a spravujte je bezpečně pomocí pageant.
  • Při přenosu souborů zvolte pscp nebo psftp podle toho, zda preferujete jednorázový příkaz nebo interaktivní relaci.
  • Pokud potřebujete grafické X aplikace, nainstalujte si lokální X server a povolte X11 forwarding v PuTTY.
  • V produkčním prostředí zakažte SSH-1 na serveru i klientovi a preferujte moderní šifrovací metody.

PuTTY zůstává kompaktním a výkonným nástrojem pro vzdálenou správu, obzvlášť populárním mezi uživateli Windows, kteří potřebují bezpečný přístup k unixovým a síťovým zařízením.