← ブログ

オピニオン

ラップトップは死んだ。 ポケットよ、永遠なれ。

だが SSH と TCP/IP は生き延びた。 重くて、お腹の温かかった相棒に捧げる愛情のこもった弔辞 — そして、すでにあなたの手のなかにある端末へ静かに引っ越したターミナルの話。

証拠物件 A:本物の SSH セッション、コーディング エージェント、そしてエージェント アラート — 動いているのはポケットの中のあれで、充電器はどこにも見当たらない。

ラップトップ氏 — 世界中の開発者、書き手、旅人に愛された伴侶 — が今週、カフェにて安らかに息を引き取った。 享年 45。バッテリー残量 6 パーセント、充電器はどこにもなかった。臨終の床を囲んでいたのは、いつもどおり、 「あとで読む」と約束されたままのタブたちだった。

取り乱すようなことは何もなかった。画面がすっと暗くなり、ファンからため息をひとつ漏らし、そして — 最期に、これ以上ないほど間の悪いタイミングで — 「いま、アップデートをインストールしてもよろしいですか」と尋ねた。

“ようやくアイデアが浮かんだ、まさにその瞬間にファームウェアの再起動を要求する。いつだって、そうだった。”

重い一生を、忠実に背負って

1981 年、Osborne 1 のもとに生まれた。11 キログラムの「持ち運べる野心」、バッテリーなし、5 インチの画面。 以来 45 年、ラップトップ氏は軽くなり続けたが、ついに「軽い」と言えるところまでは届かなかった。最期の体重はおよそ 1.5 キロ。 親の世代から見れば魔法の類だっただろう。私たちはあのキーボードを覚えている。温かい底面を。ものを考えるたびに唸り声で 報告してくれたファンを。いつも少しだけ膨らみすぎた鞄、文庫本ほどの大きさの電源アダプター、そして — 永遠に、 そして希望を捨てずに続けられた — 窓際の空いたコンセント探しを。

ラップトップ氏は私たちに多くを要求したが、それでも私たちは担いで歩いた。机から搭乗ゲートへ、そして 24B の座席へ。 長いあいだ、本物のターミナルを収められるものは、これしかなかったからだ。もう、そうではない。

遺族は、年上の親族ばかり

ラップトップ氏に子はいない。約束されていた後継者たち — タブレット、Chromebook、キーボードが取り外せるあれ — は、たしかに現れ、後ろの席に座り、そして「ポートの少ないラップトップ」であることが判明した。代わりに遺されたのは、 ラップトップ氏が生まれたときすでに働いていて、今朝も働いていた二人の親族である。

TCP/IP が年長のほうだ。Vint Cerf、Bob Kahn、そして長い顔ぶれの共同研究者たちが、 1974 年 5 月にその設計を発表した。同年 12 月の RFC 675 が細部まで書き下し、そのついでに「internet」という語を 生んでいる。ARPANET は 1983 年 1 月 1 日に乗り換えを始め、その年の 6 月には完了していた — そのころラップトップ氏は、 フロッピードライブを提げたよちよち歩きの幼児だった。

SSH は甥にあたる。31 歳、棺を担ぐ者たちのなかでは最年少だ。Tatu Ylönen が 1995 年の春、 Helsinki University of Technology で書いた。大学のネットワークに仕掛けられたスニファーが、何千ものパスワードを 静かに集めていたあとのことである。同年 7 月に ssh-1.0.0 を公開し、ポート 22 は自分で選んだ。21 番の FTP と 23 番の telnet のあいだで空いていた、唯一の番号。置き換えるつもりでいた二つのプロトコルのあいだに陣取ることは、 「いくらか信頼の雰囲気を与えてくれる、ささやかなことのひとつかもしれない」という読みだった。月曜に IANA へ頼んだ。 火曜に承諾が返ってきた。水曜に出荷した。

  1. 1974 Cerf、Kahn らが、のちに TCP/IP となる設計を発表 今も稼働中
  2. 1978 DEC が初の ANSI 互換端末 VT100 を出荷 シーケンスは今も現役
  3. 1981 Osborne 1 発売:11 kg、1,795 ドル、電源はコンセントのみ 1983 年に生産終了
  4. 1983 ARPANET が NCP から TCP/IP への移行を完了 今も稼働中
  5. 1995 ヘルシンキで SSH が書かれる。7 月 11 日、IANA がポート 22 を承認 今も稼働中
  6. 2026 ラップトップ氏、45 歳、カフェにて。残量 6%、充電器なし 遺族は上記のとおり
式で読み上げられた席次。最年長の弔問客は 52 歳。

プロトコルが前提にしなかったもの

彼らの長寿に不思議なところはない。ほとんど何も前提にしなかったから、長持ちしたのだ。TCP が前提とするのは パケットの存在だけ — しかもその一部は失われ、重複し、順序が入れ替わって届く。SSH が前提とするのは、信頼できる バイト列と鍵ペアだけ。どちらのリストにも載っていないもの:画面サイズ、キーボード配列、筐体、ヒンジ、コンセント、 そして倒産していないベンダー。

SSH はターミナルの大きさすら前提にしない。訊いてくるのだ — そして、あとから違う答えが返ってきても受け入れる。 もとはデスクトップのウィンドウの角をドラッグする人のために用意された気遣いだった。そしてそれは、スマートフォンを 回転させてもセッションが切れない理由でもある。

“ハードウェアは肉体であり、プロトコルは習慣である。階段の吹き抜けに落とせるのは、片方だけだ。”

筐体に縛られていたものから先に逝った。どれも設計が悪くて死んだわけではない。フロッピードライブ、 PC カードスロット、ドックコネクタ — いずれもある条件のもとで、よくできていた。死すべき定めだったのは、 条件のほうだ。プロトコルは、持ち主にすら縛られない。Ylönen の後期リリースでライセンスが厳しくなると、 OpenBSD プロジェクトは再利用できるだけ自由な最後の版 ssh 1.2.12 まで巻き戻り、1999 年 12 月 1 日、 OpenSSH を OpenBSD 2.6 とともに出荷した。プロトコルはお構いなしに走り続けた。もともと誰か特定の人のもので あったためしがない — だからこそ、今もここにいる。

ひとつだけ、パッチを当てるしかなかった前提

公平を期して訂正しておく。TCP はひとつだけ前提を置いていて、そしてそれは間違っていた。機械はその場から 動かない、という前提だ。ひとつのコネクションは四つの数字 — 二つのアドレスと二つのポート — で名指される。 名指される相手が二重床の部屋にボルトで固定されていた 1981 年には、これはまったく理にかなった命名法だった。 スマートフォンを手にカフェを出れば、その四つのうちひとつが、そっと嘘に変わる。

二度目の葬式は開かれなかった。プロトコルはそのまま残し、前提のほうを迂回するパッチが当てられた。 仕事は向こう側 — ドアをくぐって歩き去るクライアントの手が届かない場所 — へ移された。screen、 続いて tmux が、ターミナルが来ては去るあいだもシェルを開いたままにしておく。Eternal Terminal は さらに一歩進んで、アドレスではなくセッションのほうに名前を付けた。おかげで足元でアドレスが変わっても、 セッションは生き延びる。

“あなたのサーバーはラップトップに忠誠を誓っていたのではない。ポートに誓っていたのだ。”

どれもスマートフォンのために発明されたものではない。スマートフォンが受け継いだのだ。Eternal Terminal トランスポート、tmux マネージャー、指数バックオフで再接続する keepalive、保存したサーバーごとの複数アドレス — これらを備えたクライアントなら、コマンドの途中で建物から歩いて出ても、歩道で話の続きを拾い直せる。向こう側に 伝わるのは、クライアントのバージョン文字列とターミナルの大きさだけ。ヒンジがあるかどうかは、ついぞ伝えられない。

仕事は、静かにポケットへ引っ越した

晩年、ラップトップ氏は自分の存在意義を気に病むようになった。無理もない。かつて自分のものだと主張していた 仕事 — 本物のターミナル、本物のファイル転送、本物の鍵、本物のトンネル — は、すでにあなたの手のなかにある端末へ、 静かに滑り込んでいた。

その端末で動くのが Mobile SSH だ。Android・iPhone・iPad 向けのネイティブな SSH/SFTP/ ターミナル クライアント。おもちゃのシェルではない。ターミナルのふりをしたリモートデスクトップでもない。完全な xterm-256color ターミナル — 正真正銘のそれ — が、かつてラップトップ氏の充電器が 占めていた場所に収まる。

“かつて自分のものと呼んでいた仕事はポケットへ引っ越し、そして一度もコンセントを求めなかった。”

遺族:あなたのスマートフォン — そして Mobile SSH

遺産の目録は以下のとおり。供花に代えて、ご遺族からのお願いはただひとつ。下の弔辞を読み、その一行一行が 今日インストールできる実在のソフトウェアであることを確かめてほしい。

“「ラップトップは死んだ」は弔辞であって、検死報告書ではない。ラップトップは通夜にいつでも歓迎する。”

愛情を込めて言っている。ラップトップ氏は立派に務めを果たした。通夜にはぜひ来てほしい — サイドテーブルの上で 開かれ、ファンをゆるやかに回し、ようやく電源につながれた姿で。だが、その日の仕事はもっと軽い荷物にまとめて、 建物を出ていった。いまはポケットに収まる。呼べば、一度目の呼び出しで応える。

SSH と TCP/IP は供花を送らなかった。働いていたからだ。