NECのラップトップLaVie G タイプZで、自前ビルドしたChromium OSを使い始めてからもう一か月半が経ちます。内蔵ドライブのWindowsを上書きするのはちょっとためらわれるので、USBメモリから起動して使っています。Windowsをいちおう残してはいますが、Chromium OSとWindowsのバッテリ駆動時間を比較するベンチマークを行なって以来、起動していません。

文書(図表の編集を含む)作成とWebブラウジングくらいであれば、まったくWindowsの出る幕がないです。Chromium OS本当にいいですよ。バッテリベンチマークではWindowsに負けましたが、実際の使用ではChromium OSのほうがやや長く持つように感じますし。最近では、もっと本格的に使うためにChromebookを購入しようかと考えています。

さて、ラップトップの用途ですが一つ書き忘れました。文書作成とブラウジングに加えて、サーバ管理の際のSSHクライアントとしても使っています。ここでも、Chrome上で動作するSSHクライアントのSecure Shell Appを使えばこと足ります。(Secure Shell Appの使い方については、下記二つのURLをご参照ください。)

しかし、怠惰なもので、接続のたびに秘密鍵のパスフレーズを入力するのが面倒になってきました。こんなときはssh-agentですよね。Secure Shell Appでもssh-agent(と同等の機能)を使えないかと調べてみました。すると、ありました。SSH Agent for Google Chromeという拡張機能です。Secure Shell Appと組み合わせて使うと、接続ごとのパスフレーズ入力を省くことができます。

本記事ではSSH Agent for Google Chrome (以下、単にSSH Agentと呼びます)とSecure Shell Appを組み合わせた使用法を紹介します。でも、その前に以下の注意書きを必ずお読みください

: Chromeの同期が有効な場合、エージェントに登録した秘密鍵も同期の対象になります。したがって、秘密鍵は必ず十分な強度のパスフレーズで保護してください。秘密鍵が漏えいする可能性がゼロとはいえませんので、インターネットから直接アクセス可能なサーバやその他重要なサーバへのアクセス鍵は登録しないことをおすすめします。本拡張機能の使用は自己責任でお願いします。

納得いただけましたら、以下にお進みください。インストール、および設定の手順はSSH AgentのREADME (下記URL)に準じています。

インストール

まず、以下のURLにアクセスしてSecure Shell App、およびSSH Agentをインストールします。

秘密鍵の登録

SSH Agentをインストールすると、ブラウザのツールバーにアイコンが追加されますので、これをクリックします。

Chromium - SSH Agent - アイコン

“Add Key”ボタンをクリックして秘密鍵を登録します。Nameには識別しやすい任意の名前をつけます。Private Keyには秘密鍵ファイルの内容をまるごとコピペしてください(-----BEGIN XXX PRIVATE KEY-----から-----END XXX PRIVATE KEY-----まですべて)。本記事の例では、RSA形式の秘密鍵を登録しています。(ECDSA鍵やED25519鍵については動作未確認です。)

Chromium - SSH Agent - 秘密鍵追加

“Add”ボタンをクリックすると秘密鍵が追加されます。

秘密鍵のパスフレーズ入力

次に、秘密鍵のパスフレーズを入力して秘密鍵をエージェントに読み込ませます。読み込ませたい秘密鍵の”Load”ボタンをクリックしてください。すると、パスフレーズの入力ダイアログが表示されますので、秘密鍵のパスフレーズを入力します。

Chromium - SSH Agent - パスフレーズ入力

入力後”OK”ボタンをクリックすると、秘密鍵の種別および内容が表示され、エージェントに読み込み済みであることが示されます。

Chromium - SSH Agent - 秘密鍵読み込み完了

SSH Agentでの設定は以上で終了です。

SSH接続

では、SSH接続を行なってみましょう。Chromium OSのランチャーボタン、あるいはURL chrome://appsからSecure Shell Appを起動します。SSH Agentを使用するためには、”SSH 中継サーバーのオプション”の欄に--ssh-agent=eechpbnaifiimgajnomdipfaamobdfhaを追加してください。Secure Shell Appでの秘密鍵のインポートは不要です。

Chromium - Secure Shell - 接続

接続先情報の入力が終わったら、右下部にある「接続」をクリックします。下図の例のように、パスフレーズの入力を求められることなくログインが可能です。

Chromium - Secure Shell - 接続完了

ちなみに、「接続」の代わりに「SFTP マウント」をクリックすると、接続に使用したユーザのホームディレクトリをマウントできます(下図)。いったんマウントしてしまえば、ファイルアプリからローカルドライブと同様にアクセスできますので、これもとても便利ですよ。

Chromium - Secure Shell - SFTPマウント

参考文献

  1. Secure Shell App, https://chrome.google.com/webstore/detail/secure-shell-app/pnhechapfaindjhompbnflcldabbghjo
  2. ChromeのSSHクライアント「Secure Shell」が公開鍵認証に対応!ブラウザだけでサーバー管理ができる時代に近づいた, http://www.chrome-life.com/chrome/5629/
  3. Chromebook Secure Shell 公開鍵認証でCentOSにSSH接続する, http://designetwork.hatenablog.com/entry/2017/02/02/public-ssh-on-chromebook
  4. SSH Agent for Google Chrome™, https://chrome.google.com/webstore/detail/ssh-agent-for-google-chro/eechpbnaifiimgajnomdipfaamobdfha
  5. chrome-ssh-agent, https://github.com/google/chrome-ssh-agent