31 iPad から Mac に Termius でログインする

(しばらく工事中)

以下は、 「iPadのアプリtermiusからssh接続を公開鍵認証で行う」 を参考にした。


今だにターミナルで作業していることが多い (何というか、育ちが古いもので)。 メールなども読むときは、Webインターフェイスとか、 Apple 純正のメールアプリを使ったりもするけれど、 メッセージを作成・送信するのは、サーバーにリモート・ログインして emacs の中から Mew でやることが多い。 そういうわけで、時々だけれど、iPad から ssh したくなることがある。

ずっと以前 iPad では Termius と言うソフトの評判が良いと聞いて、 インストールまではしたのだけれど、肝心のログインに成功しなかった。 今さらパスワード・ログインなんて危なっかしくて出来ないので、 公開鍵認証を使うわけだけど、どうやって登録するかが分からなかった。 それで放置したままにしていた。

夏休みに入って、こまごまとしたことの調整をしていたが、それも一段落して (学期中にあちこちぐちゃぐちゃになって、休みに入って修繕、というのが多い)、 通っている病院で待ち時間に iPad を使っていて、ふと思い出した。

以下のようなことをした。試行錯誤があったので、 手順がはっきり分かっているわけではないが、 とにかくメモしておいて、 後で同じようなことをするときに精度をあげるつもり。

  1. Termius の Keychain で \fbox{+} をクリックして、 “Generate Key” を選択して鍵を生成する。 (OpenSSH だったら ssh-keygen -t 暗号の種類 として行うやつ?)
  2. Identity というのを登録する。これは Keychain の下の Identities に置かれる。 適当な名前 (Name) を決めて、 Username, Password, Key (上で作ったもの) を登録する。 (サーバー上のログインしようとしているアカウントを覚えさせる、 という理解で正しい?)
  3. Hosts にリモート・ログインしたいサーバーを登録する。 Hostname, Port 番号を書き、Use SSH にチェックを入れて、 上で作った Identity を登録する。
  4. (普段使っている Mac とかで) サーバーにログインして、 一時的に(2分程度) パスワード・ログインが出来る状態にしておいて (sshd_configPasswordAuthentication yes と書いて sudo launchctl stop com.openssh.sshd)、 Termius 自身に鍵の登録を任せる。具体的には作成した Key を “Export Key” する。 何々 “This script below will be executed on the host [サーバーのホスト名]. Feel free to modify the code or the arguments to fit it into your needs. The argument $3 is the public key value in OpenSSH format not editable.” だって。ふうん。script は以下のようになっている。
    if test ! -e $1;
    then mkdir $1;
    chmod 700 $1;
    fi;
    if test ! -e "$1/$2";
    then touch "$1/$2";
    chmod 600 "$1/$2";
    fi;
    echo $3 >> "$1/$2"
    
    なるほど、仕組みはすごく原始的ですね。まあ、Export してみる。数秒で終了する。 パスワード・ログイン出来ないようにサーバーの設定を戻す。 サーバーで .ssh の下をチェックすると、 確かに上で生成した公開鍵が登録されている。
  5. Termius で Hosts を選んだら、サクッとログイン出来ました。

(あー、 \fbox{esc} と言うのがあるんだ。 なるほど、iPad のキーボードに escape ないものね。 Apple もキー1つくらいケチらなければいいのに。)

普通に日本語入力できるんだ。

まだ ssh エージェントのフォワーディングとか出来ていない。これはまたそのうち… あ、これは無料版では出来ないのか。 使いたければお金を払って下さい、ということみたい。月額840円はちょっと高いね。


(2022/8/26加筆)

(2022/8/27) a-Shell作者が紹介動画の中で、caps lock を escape にして、と言っているのを聞いて、 そういう機能があることを知った (これは iPad としても、Termius としても出来る)。 なるほど。左下隅はちょっと打ちにくいけれど、ないよりはマシ。



桂田 祐史