Help us understand the problem. What is going on with this article?

iPadのSSHクライアントアプリ(Termius)からcodeanywhereに接続する

More than 1 year has passed since last update.

概要

表題そのままですが、iPadからcodeanywhereの環境でターミナル操作をするとき、ブラウザやcodeanywhereのiOS用アプリではなく、iOS用SSHクライアントアプリから繋ぐ方法です。

  • iPadでcodeanywhereを使う方法は下記の記事を大いに参考にさせて頂きました。

https://qiita.com/ShinoTatwu/items/06cca8aba7e768677909

公式ページの方法

公式ページにはWindowsのPuttyで繋ぐ方法が書かれています。これを参考にしています。
(というか同じことをiPadアプリで行っただけです)

http://docs.codeanywhere.com/overview/codeanywhereui/terminal.html

たぶんcodeanywhere側のキーをiPad側にimportするやり方もあると思いますが、上記の手順に従いました。

なぜcodeanywhereアプリのSSH Terminalを使わないのか

iPadに外付けキーボードを接続して使ってみたのですが、TabやCtrl-U、Ctrl-Pなどがターミナル内で効かず不便だったからです。(もしかしたら設定で変更できるのかもしれませんが)

SSHクライアントアプリ

  • アプリについては下記の記事を参考にいたしました。

https://xckb.hatenablog.com/entry/2017/06/18/121745

ただし、この記事で書かれているvSSH HDは現在(2018/09/24)時点でApp Storeに見当たらず、ローカル鍵生成が可能なTermius(フリー版の方)を選択しました。

手順

初めてTermiusを立ち上げると、「Create a free account」 というボタンが出ますが、その下の「continue without account」を選択しました。

Terminusでキーペア生成

メニューから「Keychain」を選択し、右上の「+」を選択します。
「Generate Key」を選択し、入力します。
Key Sizeは公式ページに下記のようにあったので4096にしてみました。

3. In the Number of bits in a generated key field, specify either 2048 or 4096 (increasing the bits makes it harder to crack the key by brute-force methods)

入力したら右上の「Save」をクリックします。

image.png

するとSSH Keysにキーが表示されます。

image.png

KeyのExport

表示されたKey(上記の例だと「codeanywhere_key」)を選択すると、「Export To」画面が表示されます。右上のアイコンをタップ、「Copy Public key」を選択し、クリップボードにコピーします。

ここで公式ページの「Container config」の下記手順に従い、iPadのcodeanywhereアプリでSSH Terminalを立ち上げ、authorized_keys に貼り付けようとしたのですが、先ほどクリップボードにコピーしたテキストがどうしても貼り付けられませんでした。(Pasteが出てこない)。

1. Log on to your container
2. Run: vim ~/.ssh/authorized_keys
3. Paste key in new line
4. Save and exit

仕方ないので、この手順だけは一旦メモにコピーしてパソコンで作業しました。iPadだけで完結したかったのですが・・・。

Hostの設定

Terminusのメニューから「Hosts」を選択し、右上の「+」を選択します。
「New Host」を選択し、入力します。
ここで「Hostname」と「Port」はcodeanywhereのInfoにある「SSH access on」に記載されているものを指定します。(「:」の左がHost nameで右がPort番号)

image.png

また公式ページにも書いてあるようにユーザー名には「cabox」を指定します。
「Use SSH」を選択します。
Keyには上記で作成したKeyを選択します。
ターミナルの色も選択できます。

image.png

image.png

「Save」を選択します。
Hosts一覧に作成したHostが表示されています。

image.png

接続

Hostsに表示されているHostを選択します。
初回は「Are you sure you want to continue connecting?」を聞かれるので「Continue」を選択します。

image.png

無事につながりました!

注意

codeanywhereをしばらく使っていなかったらコンテナがアーカイブされていて、リストアしたところホスト名とポート番号が変わっていました(その前にきちんと警告のメールも来ていました)。SSHクライアントアプリで設定したときはコンテナを常時立ち上げにしておくなど気をつけないと、ホスト名再設定など面倒です。

余談

外付けキーボードはVortex Coreの赤軸で、それをカメラアダプタでiPadに接続しています。キー配列に慣れるまで大変ですが、iPadと一緒に持ち歩くには小さくて良い感じです。

yshutaro
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away