PuTTYとは?Windows向けオープンソースSSH/Telnetターミナルエミュレータ解説
PuTTYとは?Windows向けオープンソースSSH/Telnetターミナルの基本と設定、使い方、セキュリティ対策を図解でわかりやすく解説。
PuTTYは、SSH、Telnet、rlogin、raw TCPコンピューティングプロトコルのクライアントとして動作することができるターミナルエミュレータアプリケーションです。PuTTY」という言葉に意味はありませんが、「tty」は「teletype」の頭文字をとってUnix端末を指す言葉として使われることがあります。
PuTTYは、最初はMicrosoft Windows向けに開発されましたが、いくつかのUnix系プラットフォームを含む他のOSにも移植されています。Mac OSとMac OS Xは現在も移植されていますが、SymbianとWindows Mobile OSには非公式に移植されています。
PuTTYは現在ベータ版ソフトウェアです。MIT Licenseに基づいてライセンスされており、フリーかつオープンソースのソフトウェアです。
主な特徴
- 複数プロトコル対応:SSH(SSH-1/SSH-2)、Telnet、rlogin、raw TCPなどに対応し、リモートホストへの接続手段を柔軟に選べます。
- 強力な認証機能:パスワード認証のほか、公開鍵認証に対応。鍵管理用のユーティリティ(PuTTYgen、Pageant)を使って鍵の生成・管理・エージェント連携が可能です。
- 軽量で起動が速い:Windowsネイティブで動作し、軽快に動くためローカルでの利用に適しています。
- カスタマイズ性:フォント、色、キーボード動作、改行変換、ウィンドウサイズ、ログ出力など細かく設定できます。
- 同梱ツール:コマンドライン接続用のplink、ファイル転送のpscp/psftp、鍵管理のputtygen、鍵エージェントのpageantなどが提供されます。
- セッション管理:設定をセッションとして保存でき、複数ホストへの接続設定を手早く切り替えられます。
使い方の基本(簡単な手順)
- PuTTYを起動して、Host Nameに接続先のホスト名またはIPアドレスを入力します。必要に応じてポート番号とプロトコル(通常はSSH)を選択します。
- 初回接続時はホスト鍵のフィンガープリント確認ダイアログが表示されます。信頼できるホストであれば受け入れて保存します。
- ユーザー名とパスワードでログインするか、公開鍵認証を使う場合はPuTTYの設定で該当する秘密鍵を指定します(PuTTY形式の鍵が必要な場合はputtygenで変換します)。
- 頻繁に使う設定はセッションとして保存しておくと便利です。Pageantを使えば一度鍵をロードするだけで以降の接続で自動認証できます。
セキュリティ上のポイント
- SSH-2を優先する:SSH-1は既知の脆弱性があるため、可能な限りSSH-2を使用してください。PuTTYはSSH-1もサポートしますが推奨されません。
- ホスト鍵の検証:初回接続時に提示されるホスト鍵フィンガープリントを必ず確認し、不一致があれば接続を中止してください。
- 公開鍵認証の活用:パスワード認証よりも公開鍵認証(秘密鍵+パスフレーズ)を利用すると安全性が向上します。Pageantで鍵を安全に運用できます。
- 最新版を利用:脆弱性対応のため、PuTTY本体や関連ツールは定期的に最新版に更新してください。
付属ツールと用途
- PuTTY(GUI):ターミナル接続を行うメインアプリケーション。
- plink:コマンドラインからSSH接続を行う際に使います。スクリプトや自動化に便利です。
- pscp / psftp:Windows上でのファイル転送(scp/ftp互換操作)に使うコマンドラインツール。
- puttygen:公開鍵・秘密鍵の生成および形式変換(OpenSSH形式 ↔ PuTTY形式)を行うツール。
- pageant:秘密鍵をメモリ上で管理し、複数のPuTTYベースのクライアントで使い回すためのエージェント。
移植性と対応環境
元々はWindows向けに設計されていますが、ソースコードは他のプラットフォームへ移植されてきました。Microsoft Windows以外にも、Unix系システムや、一部のMac OS / Mac OS X向けのビルドが存在します。さらに、古い携帯OSであるSymbianやWindows Mobile向けの非公式移植も報告されています。ただし、プラットフォームによっては機能差やサポート状況が異なるため、導入前に確認してください。
開発とライセンス
PuTTYの主要な開発者はSimon Tatham氏で、長年にわたりコミュニティベースで保守・改善が続けられています。ソフトウェアは現在ベータ版として配布されており、MIT Licenseの下で公開されているため、自由に利用・配布・改変できます。詳細な利用条件はライセンス文を確認してください。
代替と補足ツール
- より統合的な環境やPOSIX互換を重視する場合は、OpenSSHクライアント(WindowsではWindows 10以降で利用可能)を検討してください。
- モバイルや不安定なネットワーク環境で快適に使うには、moshなどの代替ツールが有効なことがあります。
まとめ
PuTTYは長く使われてきた軽量なターミナルエミュレータで、Windows環境を中心に多くのユーザーに支持されています。SSHやTelnetなど複数プロトコルに対応し、鍵管理やスクリプト連携など実務で必要とされる機能を備えています。一方で、セキュリティの観点からはSSH-2の使用やホスト鍵の確認、最新版の利用が重要です。用途や環境に合わせてPuTTYを選ぶか、他のソフトと併用して運用することをおすすめします。
特徴
PuTTYの機能の一部を紹介します。
- Unicode対応。
- SSHの暗号化キーやプロトコルのバージョンを制御。
- コマンドラインのSCPおよびSFTPクライアントで、それぞれ「pscp」と「psftp」と呼ばれています。
- SSHによるポートフォワーディングの制御(ローカル、リモート、ダイナミックポートフォワーディング)、X11フォワーディングの組み込み処理を含む。
- ほとんどの xterm, VT102 制御シーケンス、および ECMA-48 端末エミュレーションの多くをエミュレートします。
- IPバージョン6に対応。
- 3DES、AES、Arcfour、Blowfish、DESに対応。
- 公開鍵認証に対応。
- ローカルのシリアルポート接続に対応。
主なプログラム
用意されているバージョンは、以下のプログラムの一部または全部で構成されています。
- PuTTY - TelnetとSSHのクライアントそのものです。
- PSCP - SCPクライアント、つまりコマンドラインでの安全なファイルコピーです。
- PSFTP - SFTPクライアント、つまりFTPのような一般的なファイル転送セッションです。
- PuTTYtel - Telnet専用のクライアントです。
- Plink - PuTTYバックエンドへのコマンドライン・インターフェースです。
- Pageant - PuTTY, PSCP, Plink 用の SSH 認証エージェントです。
- PuTTYgen - RSAおよびDSA鍵生成ユーティリティ。
- pterm - スタンドアロンのターミナルエミュレータ。

Windows Vistaでセッションを行うPuTTY。
関連ページ
- W-PuTTY-CD
- FreeOTFE - ディスクの暗号化
- PGP(Pretty Good Privacy) - 電子メールの暗号化
質問と回答
Q:PuTTYとは何ですか?
A: PuTTYは、SSH、Telnet、rlogin、raw TCPコンピューティングプロトコルのクライアントとして動作するターミナルエミュレータアプリケーションです。
Q: 「PuTTY」という言葉の意味は何ですか?
A: 「PuTTY」という単語に意味はありませんが、「tty」は「teletype」の頭文字をとってUnix端末を指すのに使われることがあります。
Q: PuTTYはどのオペレーティングシステム向けに書かれたのですか?
A: PuTTYは最初にMicrosoft Windows用に書かれましたが、いくつかのUnixライクなプラットフォームを含む他のオペレーティングシステムに移植されています。
Q: PuTTYはMac OSに移植されましたか?
A: はい、PuTTYはMac OSに移植されています。
Q: PuTTYはSymbianおよびWindows Mobileオペレーティングシステムで公式にサポートされていますか?
A: いいえ、PuTTYの非公式なポートが、SymbianとWindows Mobileオペレーティングシステム用に作成されています。
Q: PuTTYは、フリーでオープンソースのソフトウェアですか?
A: はい、PuTTYはMIT Licenseの下でライセンスされており、フリーでオープンソースのソフトウェアです。
Q: PuTTYの現在の状況はどうなっていますか?
A: PuTTYは現在ベータ版ソフトウェアです。
百科事典を検索する