Pythonista 3 の StaSh を使って SSH で XServer へ接続する
Pythonista 3 の StaSh を使ってホスティングサーバである XServer へ SSH 接続する方法です。ポイントは、XServer のサーバーパネルで「公開鍵認証用鍵ペアの生成」を行わず、StaSh の ssh-keygen
コマンドでパスフレーズ無しのキーを作成するということ。パスフレーズを付けて作られたキーは StaSh のssh で動かないようです。おそらく他の SSH 接続を許可するホスティングサーバでも同様の方法で接続可能かと思いますのでお試しください。
XServer の SSH 設定方法 (公式) はこちら
StaSh でキーを作成
$ ssh-keygen -t rsa -b 2048
以下のパスに秘密鍵と公開鍵が作られる。
~/Documents/site-packages/stash/.ssh $ ls id_rsa id_rsa.pub
後は、公開鍵を XServer のサーバパネルで登録すれば、以下コマンドでサーバに SSH 接続できる。
SSH コマンド
$ ssh username@username.xsrv.jp -p 10022
(“username
” は自分のアカウント名に差し替える)
初めて ssh コマンドを実行すると、どうやら自動的に pyte というターミナルエミュレータが pip でインストールされます。そのまま ssh コマンドを実行してもエラー global name 'pyte' is not defined
と表示される場合は、Pythonista 3 を終了してから再度立ち上げてください。
(蛇足) SSH しているときの行数を指定
ここまできたらこっちのもの、.stashrc
ファイルに alias を登録したり (こちらを参照)、他の iOS 端末や SSH アプリ、パソコン等に .ssh フォルダの中の ids_rsa を持って行ってそれらの環境で SSH 接続ができるようにすれば作業がはかどります。 ids_rsa ファイルは秘密鍵ですので、絶対に他の人に見られないよう取り扱いには注意しましょう。
一点 Pythonista 3 の StaSh で SSH 接続している際の残念な点は、入力中は画面下の [Tab] [H] [Up] などの StaSh のもつ特殊キーの列と iOS のキーボードのソフトウェアキーボードが常に出てしまうところです (Bluetooth キーボードを使用していても 3行分ほど狭くなる)。面倒ですがログインする端末に応じて、stty
コマンドで、画面の行数を指定しまいましょう。一画面に収まって作業がしやすくなります。以下を参考に、自分の環境でちょうどいい行数を指定してみてください。
$ stty rows 51 # iPad mini 2 で外付けキーボードならここまでイケる $ stty rows 27 # iPhone 8 Plus でソフトウェアキーボードならここまでイケる