ラベル Pythonista3 の投稿を表示しています。 すべての投稿を表示
ラベル Pythonista3 の投稿を表示しています。 すべての投稿を表示

2018年2月25日日曜日

Pythonista3のSSH設定でハマったこと

もともとMacBook ProでSSHTunnelコードを書いていた自分としては、ぜひiPad上でも続きが書ける環境を作りたかったんだ。

で、Stashをインストール後、お約束のSSH鍵認証のための鍵作成に取り掛かった。

$ ssh-keygen -t rsa -b 2048

これは2048bitのRSA鍵作成のためのコマンドだ。

-H パスワードを加えると、SSH秘密鍵のパスフレーズをつけることが可能だ。
パスフレーズをつけると認証に失敗するというネット情報があるが、真偽は確かめていない。

で、公開鍵をサーバ上の~/.ssh/authorized_keysに書き込むわけなんだが。。。

すでにsshd_configでパスワード認証をnoにしていたので、僕はStashで生成された公開鍵をShellyを使ってコピペして保存していた。

で、どういうわけだかsshの認証エラーが出る。
念のためにパスワード認証を復活させると、鍵認証に失敗した場合でもパスワード認証では通信できるので、???だっだ。

結論から言うと、Stashの公開鍵にはフレーズの最後に不要な文字コードが混じっているらしい。なので単純にauthorized_keysにコピペすると認証エラーが発生する。コピペした場合と、scpした場合を比べて初めて気づいた。OS XやUbuntuでは経験したことがなかったので、原因がわかるまで5日も無駄にしてしまった。

まず公開鍵をターゲットのサーバにscpする。

$ scp ~/.ssh/id_rsa.pub hogehoge@host:~/
(サーバ上のSSHポートを変えている場合は、-P ポート番号のオプションが必要)

パスワード認証でサーバに接続して、公開鍵をauthorized_keysに追加する。
$ cat id_rsa.pub >> .ssh/authorized_keys

SSHDのサービスを再起動する。
$ sudo /etc/init.d/ssh restart

これで僕の環境ではPythonista3から鍵認証によるSSH接続ができるようになった。

しっかし文字コードに問題があったとはなあ。

Pythonista3で最初にやったこと

iOS上でPythonの開発・実行環境を提供してしまう神アプリ。
iPad、iPhone上でPythonが動いてしまうのは、アプリ開発はMac上でという常識を覆されてびっくりするよ。で、本当にPython3が動くので「すんげー!」と興奮してしまうんだ。
つい最近までのバージョンではソースコードファイルのダウンロードが禁じられていたため、Dropboxと連携させるための小細工がちょっとめんどくさそうだった。現在はデフォルトでiCloudにファイル保存ができるのでとっても便利になった。

で、最初にやったことは当然ながらStashの導入。

Pythonista3のコンソールで、次の1行をコピペして実行する。

import requests as r; exec(r.get('http://bit.ly/get-stash').text)

ダウンロードのあと、Stashのインストールが始まる。
インストールが終わったらPythonista3を一度終了してから再起動する。

Stashを便利に使うためのTipsとして、コードエディタ画面右上のレンチアイコンをタップし、区切り線の右端にある「Edit」をタップして「+」アイコンをタップ。「Custom Title」を「StaSh」にして「Done」ボタンをタップすると、レンチアイコンからすぐにStashを使うことができる。

iPadPro 10.5を買ってみた

買ってみたというのは嘘が混じっているな。
Pythonista3っていうiOS上でPython開発・実行を実現するという神アプリを使ってみたかったから。

あわせてJIS配列のsmart keyboardも購入してみた。
値段は張るけれど、これは良いもの。
これでESCキーがあれば100点満点の作りなのだがなぁ、、cmdキーを1つ減らすという判断はなかったのかと思うよ。
このキーボードはファブリック製らしいけれど、キータッチは悪くない。
現行MacBook Proのキーボードよりは好もしい感じ。

iPadPro 10.5がリリースされてから、これがノートPCの代わりになるのかっていう議論がネット上に溢れてた。僕が使った感じではWebを眺めたり、メールを書く位だったら全然いけると思う。だけど、Excelで複雑な表を作ったりする使い方はどうなのかなぁ……。

あと、いい感じのテキストエディタが見つからないのはツライね。
とりあえずこの文章はPagesで書いてみた。