ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

ハローサマー、グッドバイ(10) Knockin' on Hell's Door

»

 「エンジン停止」ドライバーズシートの後ろに立っていた臼井大尉が命じた。「ここからはモーターだな。サンキスト、バッテリーと通信チェック。予備も含めてな」

 「バッテリーは全て99.1 から99.7 %の範囲内でチャージ済みです」ドライバーズシートのサンキストが答えた。「その他の電子機器正常。港北基地との音声通信、データ通信、OK です」

 「よし。全員、降車」

 軽トラックから、バンド隊員たちが次々に飛び降りた。

 指揮車両の乗客たちも同じく降車した。ぼくは最後に降りたが、途端に照りつける日光の一斉射撃にあって、思わず眩暈を感じた。路面のアスファルトが融解しそうな暑さだ。

 「何もこんなクソ暑い日に行かなくても......」

 思わずそうつぶやくと、近くにいた谷少尉が苦笑した。

 「別に伊達や酔狂で出発を今日にしたわけじゃないんですよ」

 「へえ。何か理由があるんですか?」

 「CCV の屋根のソーラーパネルの効率を最大限にするために、晴れる確率が高い日を選んだんですよ。雨だと有視界距離も短くなるし、ドローンの飛行も制限されます。Zの接近に気付かないこともある。あと、今は新月ですから」

 「ああ、そういうことですか」

 Zの活動は、満月に活発化し、新月には沈静化する、と言う説がある。てっきり都市伝説だと思っていたのだが、実は科学的な根拠でもあるんだろうか。疑わしい思いが顔に出たのか、谷少尉はクスクス笑った。

 「確かに科学的に証明されたわけじゃないです。むしろトンデモの類いですよ。私だって信じちゃいません。ただ、その手の俗説を気にする人もいるし、そういう人に限って声が大きかったりするので。余計なリスクは避けるに越したことはないでしょう」

 「はあ」少し呆れた。「今どき」

 「いまだに、アポロは月に行ってない、と主張する人だって、しぶとく残ってますからね。Zの生化学に関しては未知の部分も多いですし。発生の経緯も不明なままです」

 「ああ、どっかの軍事産業が作った生物兵器が原因だってウワサがありましたね」

 口には出さなかったが「どっかの軍事産業」には、他ならぬハウンドも含まれている。谷少尉もそれに気付いたようで、いたずらっぽく人差し指を唇に交差させた。

 「そんなのまだおとなしい方です」谷少尉は面白そうな顔で教えてくれた。「小惑星の放射線、太陽フレアの影響、惑星直列、最後の審判、グランドクロス、土星人だか海王星人だかの侵略行為、未来人の実験、天使襲来、フリーメーソンの陰謀、ネオナチの陰謀、テンプル騎士団の陰謀、水からの伝言......世界中で真の原因と称される無数の戯言を聞かされたもんです」

 ぼくは谷少尉と声を合わせて笑った。

 「今度、その話聞かせてくださいよ」

 「ええ、いずれ。機会があれば。おっと」谷少尉は隊員たちの方を見て、そちらの方へ歩き出した。「また後ほど」

 「全員、聞け」臼井大尉が呼んだ。「ソリスト接続準備。各自、ヘッドセット装着。コントローラの最終チェック。サンキスト、サーバはどうだ?」

 サンキストはタブレットで何かを操作していた。画面に目を落としたまま、表示を読んでいく。

 「インバウンドチェック、アウトバウンドチェック、共にOK。全てのSNMP は正常。冗長化電源異常なし。電圧規定値内。スタンバイサーバ、ホットスタンバイ状態。プライマリサーバ、全プロセスのステータス正常。小隊内LAN、全て正常。パケットロスなし。第1 分隊、第2 分隊の分隊内LAN も同様」

 「よし」柿本少尉がサンキストの肩を叩いた。「俺が替わる。お前は装備を着けろ」

 「了解」

 「島崎さん、鳴海さん」谷少尉がやってきた。「そろそろソリスト・システムに切り替えます。特にやることはないと思いますが、モニタの前で待機していてもらえますか?」

 「わかりました」

 ぼくたちが車内に戻ろうとしたとき、一旦指揮車両に戻っていた胡桃沢さんが出てきて、小清水大佐と臼井大尉に駆け寄ると、真剣な顔で話しかけた。聞くうちに臼井大尉の顔が曇り始める。話が終わると臼井大尉は鋭い声で部下を呼んだ。

 「ビーン、グレイベア」

 谷少尉と柿本少尉が飛んできた。ビーンとグレイベアは2 人のコールサインだ。

 「基地から緊急連絡があった」臼井大尉は不機嫌そうに言った。「ソリストをリビジョンアップしたから、出発を少しだけ伸ばしてほしいと言ってきた。今、基地からチャリで向かってるそうだ」

 「またですか」ビーンこと、谷少尉が顔をしかめた。「昨日から、100 回ぐらい、これが最終リビジョンです、という言葉を聞いてる気がしますが」

 「まあ、そう言うな。バグがいくつか減るんだ。つまり不安材料が同じ数だけ減ることになる」

 その言葉に柿本少尉は納得したように頷いたが、元プログラマの谷少尉はむしろ疑惑の色を強めたようだった。ぼくも谷少尉と同意見だ。この期に及んでリビジョンアップが行われているということは、それだけ脆弱性を抱えているとしか思えない。いつだって「最後のバグ」は見つかり続けるものなのだから。

 「わかりました。練習を兼ねて隊員にやらせましょう」柿本少尉は隊員の1 人を指名した。「テンプル。聞いたとおりだ。リビジョンアップを任せる。モノが届いたら急いでやってくれ」

 「了解」第2 分隊のテンプルは頷いて離れていった。

 「リビジョンアップってどうやるんですか?」ぼくは島崎さんに訊いた。

 「さあねえ」島崎さんは肩をすくめた。「私もよく知らないな」

 「ああ、そうだ」谷少尉がぼくを見ながら言った。「胡桃沢さん?ちょっといいですか?」

 タブレットに目を落としながら指揮車両に戻りかけていた胡桃沢さんは、眉をひそめて振り返ると、谷少尉の立っている場所に戻っていった。

 「忙しいところすみませんが」皮肉や嫌みを全く感じさせない声で谷少尉は言った。「鳴海さんに、リビジョンアップ作業について手順を教えておいてもらえませんか?」

 胡桃沢さんは無遠慮な視線でぼくをじろじろ見た。近くで見ると、頭髪の半分以上に白いものが混じっているのがわかる。

 「彼に教えてもね」胡桃沢さんは、ぼくがこの場にいないような言い方をした。「彼はデバッグ要員でしょう。リビジョン手順なんか役に立たんのでは?」

 「そうとも限りませんよ」顔は笑っていたが、断固とした口調で谷少尉は反論した。「そのあたりの知識があるエンジニアが、もう1 人いれば何かと便利じゃないですか」

 「それなら最初から、うちのエンジニアをもう1 人連れてくればよかったじゃないですか」

 「いや胡桃沢さん」島崎さんが苦笑しながら口を挟んだ。「ハウンド側に拒否されたんだから仕方ないでしょう。今あるリソースを有効活用すべきですよ」

 胡桃沢さんは、谷少尉とぼくを交互に見たが、やがて諦めたようにため息をついた。

 「まあいいか。おい、君。えーと、誰だっけ?」

 「鳴海です」

 「来い」

 ぶっきらぼうに言うと、胡桃沢さんは指揮車両の方へ戻っていった。ぼくは谷少尉に一礼すると、その後を追って乗車した。

 「君はソリストのことは何も知らないんだな?」胡桃沢さんは一番近いモニタの前に座ると、キーをいくつか叩いた。

 「ほとんど」

 「ふん」小さく鼻が鳴らされた。「全く、なんでこんなド素人を参加させたんだか」

 「すみません」

 胡桃沢さんはぼくの謝罪など無視してキーを叩いた。GUI のログイン画面が表示されると、掌の静脈認証でログインする。Linux らしいがディストリビューションまではわからない。プロンプトが出ると、胡桃沢さんは立ち上がった。

 「座れ」

 ぼくは胡桃沢さんと入れ替わって座り、キーボードにそっと触れた。久しぶりの感覚に少しドキドキする。

 「リビジョンアップ作業は、デバイス登録された専用のUSB キーを使う」そう言った胡桃沢さんは近くにあったカバンから、スティックタイプのUSB メモリを取り出した。「これを刺す」

 「どこにですか?」

 「空いているポートならどこでもいい」胡桃沢さんは、無造作な手つきで、足元に設置されているサーバのポートの1 つにUSB メモリを刺した。「自動マウントにはなっていないから、まずマウントする。/dev/sda4 を /usbmedia/sol1 に。タイプはvfat だ」

 ぼくは言われた通りにコマンドを入力した。

 $ mount -t vfat /dev/sda4 /usbmedia/sol1

 「中、見てみろ」

 「あ、はい」

 ls コマンドでUSB メモリの中を見ると、ready.sh というシェルスクリプトが1 つだけある。

 「それを実行」

 一応、ls -la で、ready.sh に実行権限がついていることを確認した後、./ready.sh で実行する。即座に、ok と表示された。

 「これで終わりですか?」

 「いや、今のはキーを生成しただけだ」胡桃沢さんはUSB メモリを引き抜いた。「この中にキーペアが作成されている」

 「キーペア?」

 「暗号化、復号のキーペアだ」

 胡桃沢さんの説明によると、今、ぼくが実行したシェルスクリプトによって、公開鍵と秘密鍵が生成された。公開鍵を事前に港北基地に送り、先方は必要な情報をそれで暗号化する。暗号化されたデータは、容量が少なければ通信で、今回のように大きい場合は物理的に届けられる。こちらは秘密鍵で復号するわけだ。

 「キーペアは復号したら破棄されるから、毎回、この手順を行う必要がある。もうすぐ届くモジュールの暗号化は、さきほど連絡を受けた直後に私が送った公開鍵でやってあるはずだ」

 「え、でも、今、キーペアを上書きしてしまったんじゃ......」

 「それは予備のUSB だ」胡桃沢さんは哀れむような目でぼくを見た。「本番用は私が肌身離さず持っている。次は復号の手順だ。これは難しくない。/usr/local/soliste にcd しろ。そこにシェルが3 つあるはずだ」

 「あります」

 「importPrivateKey.sh を実行すると、USB メモリ内の秘密鍵が取り込まれる。その時点でUSB メモリからキーペアが削除されるから、やり直しは効かないぞ。次に受け取ったUSB メモリを差し込み、同じようにマウントする。マウントしたら、deploy.sh を実行する。USB メモリから暗号化されたモジュールをインポートし、サーバに配置する。完了後、USB メモリの中身は全て削除される」

 「データ通信で届く場合は?」

 「save.sh を実行すると、特定のディレクトリにモジュールが保存される。deploy.sh を実行する際に、引数として"saved" を与えてやると、そこから読み込むようになる」

 「なるほど」

 そのときテンプルが入ってきた。

 「来ました。リビジョンアップ作業を開始します」

 胡桃沢さんは頷くと、ぼくを促して降車した。

 「理解したか?」

 「はい」ぼくは頷いた。「わかりやすい説明でした」

 お世辞ではなかった。島崎さんが評した「名ばかりリーダー」にありがちな、中途半端な――またはそれ未満の――知識ではなく、自分のやるべき仕事を理解している人の説明だった。プログラム方面の知識はないのかもしれないが、少なくともインフラ周りには習熟しているということだろうか。

 「今のは、本来ならバンド隊員がやる作業だ」ぼくの言葉に態度を軟化させることもなく、胡桃沢さんは無表情に言った。「今回は実地テストで、バンド隊員をソリストに習熟させることが主目的の1 つだから、こういう作業はこっちがやることもあるかもしれんが。どっちにしろ君がやることは、まずないだろうな」

 その見解が間違っていたことはいずれ明らかになったが、このときはぼくも胡桃沢さんに同意見だった。

 指揮車両の外に出たとき、綱島街道を一台のEV バンがこちらに向かってくるのが見えた。バンは橋を封鎖しているゲートの近くに停まり、中から3 人の男女が降りてきた。全員がライトグリーンのツナギを着ている。それを見た臼井大尉が歩み寄った。

 「どうも。JSPKF の臼井です」

 「ああ、どうも」先頭の中年男性が汗を拭きながら言った。「管理事務所から来ました。遅れてすみませんな。もう開けていいんですか?」

 「いえ、ちょっと待ってください。キトン」臼井大尉は近くにいたバンド隊員を呼んだ。「リビジョンアップ作業がどれぐらいで終わるのか確認してこい」

 「管理事務所って何ですか?」ぼくは島崎さんに訊いた。

 「橋の警備と通行管理は、警察の管轄なんです」近くにいた谷少尉が答えた。「実際は港北警察署から業務委託された民間業者ですけどね。ゲートの開閉も彼らの仕事です」

 「あっち側の状況はどうですか?」臼井大尉が訊いている。

 「9 時の定時監視では、近距離にZは確認できませんでしたよ。200 メートルほど先に小さな群れがいましたが、ま、綱島街道からは離れてるので大丈夫でしょう。念のために花火は使いますがね」

 ぼくは谷少尉の顔を見た。別の単語と聞き間違えたのかと思ったのだ。

 「花火?」

 「すぐにわかりますよ」

 キトンがすばしこい子ネズミのように駆け戻ってきた。

 「リビジョンアップ作業は後5 分ほどらしいです」

 「そうか」臼井大尉は管理業者の男性に向き直った。「じゃあオープンの準備をお願いします。ビーン、グレイベア、分隊員どもの準備はできてるか?」

 2 人の分隊長が揃って頷いたとき、小清水大佐が心配そうな顔でやってきた。手にしたタオルでひっきりなしに顔を拭っている。

 「大尉、まだ出発せんのかね」

 「もうすぐです。20 分後には向こう岸に渡ってますよ」

 「そうか。急いでくれ」

 小清水大佐はせかせかと行ってしまった。臼井大尉は唇の端に笑みを浮かべたが、口に出してはこう言っただけだった。

 「全員を集合させろ」

 5 分後、テンプルが戻って来た。後ろに自転車を押したJSPKF 隊員が続いている。モジュールを届けに来た隊員だろう。

 「リビジョンアップ作業完了です。再起動も完了しています」

 「よし、これから全コミュニケーションシステムを、ソリストに切り替える。まず第1 分隊からだ。ビーン」

 「はい」谷少尉が進み出た。「第1 分隊、準備しろ。昨日までさんざんやってきた手順だ。3 からカウントする。3、2、1、マーク」

 誰も指一本動かしていないが、BIAC インターフェースを通して切り替え処理を実行したことは間違いない。ヘッジホッグとブラウンアイズが、一瞬、ピクリと身体を反らせたが、すぐに元の姿勢に戻った。

 「どうだ?」臼井大尉が谷少尉に訊いた。

 ぼくは返事を待ったが、谷少尉は臼井大尉の顔を見つめるばかりで、何も答えようとはしない。何かトラブルか、と心配になったとき、臼井大尉が苦笑した。

 「ああ、すまん。全員に聞こえるように口頭で報告しろ」

 「は。問題なさそうです。分隊内LAN 正常。分隊員全員のステータス確認。PING 応答もあります。コマンドレスポンスも全員正常。サーバへのアクセス問題なし」

 「ディスプレイはどうですか?」それまで黙って見守っていたボリスが声をかけた。「解像度と反応速度は」

 「良好ですね。テストの戦術情報も正常表示されてます。ただ、全体的に少し色調がブルー寄りのようですね」

 「他の人も同じですか?」

 第1分隊の何人かが頷いた。ボリスは島崎さんに小声で何かを言い、島崎さんは持っていたタブレットを確認した。

 「ああ、デフォルトだと防眩効果が少し効き過ぎみたいですね。今、パーソナル設定を有効にしたので、設定メニューの視覚設定から、色調補正を選択して、カラーレベルをいじってみてください。あ、B を下げるより、R と G を上げた方がいいと思いますよ」

 谷少尉は頷き、ほとんど間を置かずに指でOK サインを作った。

 「よくなった」

 「設定保存で今の設定が個人別設定として保存されますよ」

 「いいようだな」臼井大尉が満足そうに言った。「よし、グレイベア、第2 分隊も切り替えろ」

 間もなくソリストへの切り替えは正常に終わった。それを確認して、臼井大尉自身も、自分のヘッドセットを付けた。

 「マイクロマシンの状態によっては、少し気分が悪くなることもあります」ボリスが言った。「そういう症状の人は早めに申し出てください」

 「隊員のステータスを見る限り、今のところ、そういうことはなさそうですね」柿本少尉が答えた。

 「少し時間が経ってから出てくる場合もあるので、できれば、1 時間ほど待っていただきたいんですけどね。ここからなら基地に戻って、マイクロマシンパッケージの再セットアップをすることもできますし」

 「大尉」小清水大佐が心配そうな顔で口を挟んだ。「ああ仰ってるんだ。少し時間をおいてはどうかね」

 「あいにく、そんな余裕はないですな。緊急用のセットアップキットもあるので、いざとなれば初期化から始めますよ」臼井大尉はそう答えると、穏やかな表情で小清水大佐を見た。「もちろん命令ということであれば、そうしますが」

 「あ、いや」小清水大佐は、臼井大尉とボリスの顔を交互に見比べた。「君がそう言うなら任せる」

 「どうも。では、そろそろ出発します。お客様方はCCV に戻っていただきましょう。第1 分隊は左側、第2 分隊は右側で待機。ポイントマンは20 メートル先行させろ。では、ゲートを開けてください」

 管理業者の男性が、部下らしい2 人の男女に手で指示し、2 人はゲートの両側に移動していった。同時にバンド隊員たちが両側に分かれていき、ぼくたちは指揮車両に乗った。臼井大尉とサンキストも乗り込む。

 「ドライブオン」

 軽い震動が伝わってきて、モーターが始動したのがわかった。駆動音はとても静かで、ガスタービンエンジンとは比べものにならない。

 「じゃあ、花火上げます」外から管理業者の男性が叫んだ。

 花火って何なのか、ぼくは興味津々でゲートの動きを見守った。ゲートは、この辺りでは「地獄への門」「死の扉」などと呼ばれていて、一般人は近寄ることさえ避けている。ソラニュウム・ウィルスは空気感染しないとわかっていても心理的に距離を置きたくなるものだ。ぼくも設置された時に一度、遠くから見たきりだ。

 数秒後、重々しい音とともに左側車線のゲートが右側車線へと動き始めた。ガリガリゴリゴリと、レールがもの凄い音を立てている。50 メートル先の向こう岸でも同じタイミングでゲートが開いていた。

 こんなに音を立てて、Zが集まって来るんじゃないか、と心配になったとき、上空から何かが爆発したような音が響いてきた。

 慌てて外部モニタを覗いてみると、川の向こう岸から少し離れた場所で、花火が打ち上げられていた。昼間なので光はほとんど見えないが、音はよく聞こえる。

 「橋の両側から花火を打ち上げて、近くにいるZの注意をそっちに引きつけるらしいね」島崎さんが教えてくれた。「その隙に、こっちは橋を通過するってわけ。私も見るのは初めてだなあ」

 「なるほど」

 「分隊、前進」

 臼井大尉は命じ、開いていたドアを閉めた。外の爆発音の大半がカットされる。

 前方の狭い窓から外を見ると、橋の両側をそれぞれの分隊が走っていた。バンド隊員たちが橋の半ばを過ぎたぐらいになって、指揮車両も動き出す。速度を合わせてあったらしく、向こう側のゲートを通り抜けたのは、ほぼ同時だった。

 指揮車両が通り抜けるのと同時に、背後でゲートが閉まり始めた。ぼくは不安に胸が締め付けられるのを感じた。島崎さんのつぶやきが、それを助長してくれた。

 「さて、いよいよZの王国に足を踏み入れたわけだ」

(続)

Comment(11)

コメント

water

水からの伝言に吹いた

p

> 「今度、その話聞かせてくださいよ」

> 「ええ、いずれ。機会があれば。おっと」

息をするようにフラグを立てていくスタイル

fuga

やっと追いついた・・・。

ちょっと前フリが長すぎて、毎週読もうという気にならない・・・w

fuga

この程度で
「インフラ周りには習熟している」
なんて思える主人公はおめでたいなあwww

個人的には、シェルスクリプトをシェルなんて言っちゃう人間の
技術力は信用しないw

fuga

キーペアを毎回生成するって何のために???
もしかしてセキュリティが向上するとでも???
意味ないでしょ。

あと、暗号化には(無駄に)気を使っているくせに、
改ざんやなりすましには何の対策もしていないのは
何の冗談だ。

もしかして、これらは伏線なのかw

fuga

ぐぐってみたら、僕がよくお世話になっているサイトでも全く同じ
ことを言っていてうれしいwww

http://x68000.q-e-d.net/~68user/unix/pickup?%A5%B7%A5%A7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8

> 当ページ管理人のネット上・実社会での観測結果によると、
> 「シェルスクリプト」を「シェル」と呼ぶ人のスキルは著しく低い傾向がある。

ですよねーwww

主人公や胡桃沢さんはこういう「本物」から学んだほうがいい。

fugaさん、ご指摘ありがとうございます。
地の文の「シェル」を「シェルスクリプト」に修正しました。

せら

fugaさん

>キーペアを毎回生成するって何のために???
>もしかしてセキュリティが向上するとでも???

秘密鍵の漏洩による流出を防げるだろ。
公開鍵の意味わかってる?

fuga

地の文は直して、胡桃沢さんのセリフは間違ったままにしておくとは興味深いw

もしかして伏せ・・・おや、誰か来たようだ。

--

>こっちがやることあるかもしれんが
も落?

--さん、ありがとうございます。
落ちてましたね。

コメントを投稿する