Raspberry PiにSSHで公開鍵認証を使いたい!
RaspberryPi(通称ラズパイ)を家の中で常時起動して色々遊んでたのですが、遊びついでに今まで自分で設定したことがない「公開鍵認証」なるものを試してみようと思い、その備忘録。
最終的に実現すること
公開鍵認証を使って、MacからラズパイにSSHでログインする。
前知識
SSHのプロトコル
SSHにはプロトコルの違いにより、バージョン1とバージョン2の2種類あるようです。現在はバージョン2が推奨されているようです。これは、このあと設定ファイルの記述で関係してきます。
鍵認証
「秘密鍵」と「公開鍵」の2つが1セットになってます。秘密鍵はクライアント側に、公開鍵は接続するサーバー側に保存しておくようです。クライアント、サーバー側ともに複数の鍵を使い分ける事もできるようです。
暗号方式
鍵を暗号化するときの方式には、「RSA」「DSA」「ECDSA」などがあるようです。「RSA」というのがよく使われてるようで、「DSA」はやや古め。「ECDSA」はOpenSSHの5.7以降から利用可能とのこと。新しい方がより強固ってことみたい。
ssh -V
で、ラズパイのOpenSSHのバージョンが確認できます。
パスフレーズ
「秘密鍵」を開くための文字列のこと。サーバーへアクセスするときにパスワードの代わりに使用します。ナシでもOKではあります。
手順
1:公開鍵と秘密鍵のセットを作る
2:公開鍵をラズパイへ転送
3:公開鍵を書き換え
4:ラズパイの設定を変更
5:接続!
方法
どこで作業するかによってパスが違ってきますが、/Users/{ユーザー名}/でやることにします。
1:公開鍵と秘密鍵のセットを作る
ターミナルで、次のように入力。RSAならこんな感じ。
ECDSAならこんな感じ。(256の部分は鍵長で、256,384,521bitから選べます。512じゃなく521ので注意。)
ssh-keygen -t ecdsa -b 256
これを入力すると、続けて3つ入力待ちがきます。
・どこに保存するか デフォルトは/Users/{ユーザー名}/.ssh/id_{暗号方式}。
・パスフレーズの確認
保存先は特に変更する必要がなければそのままEnter。パスフレーズは任意の文字列を入力します。
これにより、.ssh以下にid_rsaとid_rsa.pub(id_ecdsaとid_ecdsa.pub)という2つのファイルが作られます。このうちの.pubの方が公開鍵です。
.sshというフォルダの下に作られるのでそのままではFinderで表示されませんが、Sierraでは「shift + command + .」で「.」付きの隠しファイルやフォルダが表示されます。
2:公開鍵をラズパイへ転送
ラズパイのユーザーは、初期状態でpi。パスワードはraspberryになってます。SSHも初期状態でこれで繋ぐことができるので、ひとまずこのユーザー情報を使ってラズパイに公開鍵を転送します。
転送にはscpというのを使います。これはsshを使ってファイルをおくるというコマンド。先ほど作った.ssh以下の公開鍵を、ラズパイの/home/pi/直下にとりあえず送ることにします。
3:公開鍵を書き換え
今転送した公開鍵id_rsa.pubをいじります。ここからはSSHでログインして作業するか、直接ラズパイにキーボードをつないで作業します。
ラズパイ側では、SSHで接続された際にそれに対応する公開鍵をauthorized_keysというファイルの中から探します。authorized_keysの中身は、公開鍵の中身がそのまま書かれています。そのため、authorized_keysというファイルがすでにあるかどうかによって作業内容がちょっと変わります。
初めて公開鍵を設置する場合
.sshというディレクトリを作り、公開鍵を移動してリネーム。ファイルの権限を変更します。
mkdir .ssh
mv ~/id_rsa.pub ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
追記の場合
既存のauthorized_keysに今回の公開鍵の中身を書き足します。
4:ラズパイの設定を変更
sshに関する設定は、ラズパイの/etc/ssh/sshd_configというファイルに記述します。同じ場所にssh_configというファイルがありますが、これはラズパイのsshクライアントとしての設定ファイルです。
今回は、次のような設定にしてみます。
パスワードによる認証は拒否
PasswordAuthentication
yes → no
公開鍵認証を許可
PubkeyAuthentication
yes (初期値もyesだと思うので、そのままでOK)
どちらもyesにした場合、鍵を持ってなければ自動的にパスワードを聞いてきます。鍵必須にする場合は、PasswordAuthenticationをnoにするのを忘れずに。
設定が終わったら、sshのデーモンを再起動します。
sudo /etc/init.d/ssh restart
関連項目
特に変更する必要はないのですが、関係する項目として次のようなものがあります。
SSHのプロトコルのバージョン / Protocol
初期値は2になっています。
公開鍵の配置場所と名前 / AuthorizedKeysFile
初期値は%h/.ssh/authorized_keysとなってて、各ユーザーのホームディレクトリ以下の.sshディレクトリに作るauthorized_keysというファイルを指しています。
先ほど公開鍵の操作をしましたが、それはここで決められたファイルなのでした。
5:接続!
ターミナルで接続します。繋ぐところはパスワードでやるときと同様です。
ssh pi@192.168.XXX.XXX
このあと、次のようなメッセージが出て、パスフレーズの入力を促されます。
Enter passphrase for key '/Users/{ユーザー名}/.ssh/id_rsa':
設定したパスフレーズを入力すると、接続完了!
ユーザー名やパスワードを保存してすぐ繋げられて楽なツールもありました。
紙の本も電子書籍もPDFも、全部まとめて一括で管理したい!
場所もとらず持ち運びも便利な電子書籍。しかもしょっちゅうセールをやっていたりするために、つい色々買ってしまいます。
この電子書籍というのが便利な反面、厄介なところがあります。それは「姿がみえない」こと。机の上にも本棚にも並ばないので、買った直後に読まないとすぐ積んでしまっていました。
しかも、Amazonを始め、BookLive!やReader、さらにはPDFなど、いろんな電子書籍のお店があり、ついセールにつられてあちこちで購入。ますます何がどこにあるのやら・・・という状態が続いていました。
さて、蔵書管理をするツールに「Delicious Library」というのがあります。僕もこれを使って、紙の本をせっせと登録しています。
ふと思いました。これに電子書籍をまとめて登録してここから読めるようにできないものだろうか と・・・。
ということで、できました!!
紙も電子もまとめて一括管理の方法です。(Macでの方法ですが、Windowsでも手法的にはできるんじゃないかなと)
1)Delicious Libraryについて
そもそもは、Amazonから情報を取得して紙の本を管理しちゃおうというものです。カメラに向かってバーコードを見せるだけで、本の表紙画像はもとより、著者や出版社、サイズといった諸々の情報を簡単に登録できます。
ちなみにAmazonから情報を取得するので、本だけでなくゲームや日用品などAmazonで扱ってるものならなんでも管理できてしまいます。
2)本の登録の方法
紙の本ならバーコードをカメラにかざして登録なのですが、今回は電子書籍なので自分で登録です。ISBNなどから検索してもいいのですが、書籍名で探す方が楽かも。
3)ビューワーへのリンクを設定
このDelicious Libraryですが、書籍情報だけでなくURLを貼り付けることもできます。
ここに、持っている電子書籍へのリンクを入れてあげれば、その本が開くという寸法です。
■ブラウザのビューワーで読むタイプ
ブラウザでビューワーがあるもの「BookLive!」「Reader」などは、該当の本をブラウザのビューワーで開いて、URLをコピペで終了です。
■PDFで読むタイプ
オライリーやAppleの開発関連のものなどはPDFで手元にあります。それらは、URLの欄をクリックした状態でPDFファイル自身をドラッグ&ドロップすることで登録完了です。
Amazonに関してはブラウザ版もありますが、どうせならMac版のKindleで開きたい・・・。ということで、アプリへのリンクを書いてみます。具体的にはこう。
kindle://book?action=open&asin=<ASINの数字>
これを毎回自分で打ち込むのも面倒臭いので、コピペの便利ツール「ClipMenu」のアクションを作ってみました。Amazonで該当の本のページを開いて、ASINのクリップボードに入れておき、それを文字列の後ろにひっつけるようにしてみました。
return 'kindle://book?action=open&asin='+clipText;
これを適当な名前.jsというファイル名で/Users/<ユーザー名>/Library/Application Support/ClipMenu/script/action以下に保存して、ClipMenuの「環境設定」>「アクション」>「User's」の中から選んで追加します。出て来ない時は、ClipMenuを再起動したら出てくると思います。
4)ビューワーを開く
登録している本の上で右クリックをして、「Booksの内容を開く」を選びます。
こうすることで、さっき設定したビューワーで電子書籍を開くことができます。
これまでどんどんとっちらかってしまっていた電子書籍を、ぜーんぶまとめて本棚に並べることができるようになりました!!
本当は、本を買ったら自動的にDelicious Libraryに登録されたりすると嬉しいんですけどねー。
mineoのデータ容量節約機能はどれくらい使えるのか?
mineoに乗り換えたことによる変化について書いてみたので、今度はmineoの機能を使った感想についても書いてみます。
他のサービスでもあるようですが、mineoには「データ容量節約機能」というのがあります。通信速度を最大200kbpsに制限する代わりに、データ通信量を消費しないというものです。
この機能のON / OFFはmineoスイッチというアプリから自分で切り替えることができます。普段OFFにしておくと、かなり節約ができます。
通信料を節約している状態で、どんなことが可能なのか?
LINEやSkype、Slackなどのチャットであれば問題なく送受信できます。(ただし、時間帯によっては送受信しにくい場合があるようです)
テザリングでパソコンからチャットアプリを使っても、特に遅延を感じることはありませんでした。
テザリングしたパソコンでのブラウザ閲覧は、例えばYahoo!トップだとこれくらいの読み込み時間になります。
一昔前のネット速度 といったところでしょうか。
この時、USENで測定した速度はこれでした。
もちろん動画を見るのは正直辛いと思いますし、上の動画でも読み込みがなかなか終わらないのはどうも下の方の画像や動画広告などを読み込んでいるためっぽいです。
Chromeの機能拡張「データセーバー」を使うことでも多少読み込みが早く終わりますが、Opera Turboを使用してみたらこんな感じになりました。
mineoデータ容量節約機能ONの時の速度 Opera Turbo
ブラウザの使い勝手もあると思うので、この辺は好みでしょうか。テキスト中心の調べ物であれば、僕はまあ我慢できるかなと思っています。
スマホのアプリでON / OFFする手間は入りますが、用途によっては容量を気にせず十分利用することが可能じゃないかなーというのが、今のところの僕の感想です。
mineo エントリーパッケージ au/ドコモ対応SIMカード データ通信/音声通話 (ナノ/マイクロ/標準SIM/VoLTE)
- 出版社/メーカー: ケイ・オプティコム
- 発売日: 2015/03/27
- メディア: エレクトロニクス
- この商品を含むブログ (16件) を見る
猫との遊び方を自分なりに整理してみた
先日、現時点でウチの猫がよく遊ぶおもちゃをまとめてみたので、今好みの遊び方もメモしてみます。おそらく成長段階によって変わっていくと思うので、数年後に見返して「あの頃はああだったなー」と思うためにメモ。
ウチの猫
ウチの猫は雑種の3歳のオスです。体格は大きめで、臆病か好奇心旺盛かでいうと、好奇心の方が優っているようです。
猫としての特性
「猫」「遊び方」とかで検索してみると、「おもちゃを小さな生き物のように動かす」とか「狩猟本能を刺激しよう」といったことが書かれています。でもどんな風にすればいいのか?ウチの猫と3年暮らしている間に気がついたことがあります。
まず猫は耳がとっても良いです。小さな音も聞き取ってます。よく空中を見つめているときがありますが、あれは耳に集中しているために目がどっかをみてたりするらしいです。
そこで遊ぶ時も、この音に注意をしてみます。人間が聞こえるような音から、僕自身では聞こえたに小さな音など、いろんなサイズの音がありますが、遊び始めに注意を惹きつけるには小さな音、それも布を指先で擦る程度の小さな音なんかが効果的でした。ちなみに低い音と高い音とでは、高い音の方が反応が良いです。
続いて、暗がりでも物が見える目。素早く動くものがあれば、猫も素早く反応します。こう聞くと、つい目の前で素早く猫じゃらし的なものを振ってしまいそうですが、「見える」とは「見えない」と対になっているし、「素早い」は「ゆっくり」と対になっています。つまり、見えたり見えなかったりするから見えた時に楽しいし、ゆっくりだったり止まってたりするから、急に場所を移動するものを素早いと感じやすいわけです。
この辺りを踏まえるて、こじんまり遊ぶならクッションで、大きく遊ぶなら部屋の家具類などを利用して、猫からおもちゃがどう見えるか、どんな音で聞こえるかを考えて変化をつけてあげると、なかなか食いつきが良いです。
猫の"俺ルール"を見つける
おもちゃに興味を持って来たら、次はその猫がやっているゲームのルールを探ってみます。どうも猫には、本人が設定した遊びのルールがあるように感じます。ウチの猫の場合、おもちゃは咥えて好きな場所まで持っていくまでが1ターンですし、かくれんぼなら、僕のほっぺたに肉球でタッチしたら1ターンのようです。
それがわかったら、その1ターンの中で攻防をつけてみます。人間もそうですが、猫も簡単すぎるあるいは難しすぎる遊びは楽しめないので、一進一退になるように変化をつけるわけです。
ウチの場合
例えば、ウチの猫が今はまっているこのおもちゃの場合。
音が出るネズミにゴムひもがついていて、それを追いかけ回して遊びます。この場合、猫がネズミを咥えて持っていくとターンが終わるので、それに至るまでの状態を次のように分解してみます。
・ネズミの場所を見つける
・ネズミを追いかける
・ネズミに触れる
・ネズミを咥える
ネズミが最初から目の前にあっては、見つける楽しさがスキップされてしまいます。ここも楽しめるポイントなので、最初は隠すところから始めてみます。見つけるヒントも、姿が見える、音がするという方法が考えられます。
ネズミを追いかけるところは、彼を運動させるメインな部分です。幸い猫はジャンプも得意なので、2Dではなく3Dでネズミを動かすようにします。ただ、どうも猫は急に上に移動するものは見失いやすいように感じます。そこで、上下方向へ動かすときは、モーションを大きめにしてあげます。
この動き自体も、予想と裏切りを考えてみてます。ランダムすぎる動きは捕まえられないのでただ眺め始めます。同じ動きの繰り返しもまた、飽きて眺め始めます。そこで動きに緩急をつけたように、軌道も右→左→右→左に行くと思ったらもっと右!みたいな感じで、予測できそうでたまに裏切るという、ちょっと意地悪なことをしてます。
これでネズミが捕まってしまっては1ターンが終わってしまいます。だからと言って全然捕まえさせなければ「どうせ捕まえられないんじゃん!!」と思って興味を失ってしまいます。そこで途中のステイタス「ネズミに触れる」の登場です。
時々手でキャッチしかけて惜しい!という状態を作ります。すると俄然やる気が出ます。このとき、猫のアクションによって惜しいところまで行ったという状態にするのが良さそうに思います。目の前において触らせるとか、そういうのをするとやっぱりやる気を削がれるようです。
そしてひとしきり走り回ったら、ナイスキャッチ!ネズミを咥えて1ターンが終了です。
基本的にこの繰り返しですが、これ自体もすぐ捕まることもあれば、なかなか捕まらないこともありで、おそらくそれはこちらが意図しなくても変化が出ると思います。
まとめ
僕も最初は目の前で猫じゃらしを振るくらいしか遊び方がわからなかったのですが、彼の遊びにルールがあるんじゃないか?と思ってからは、遊び方が考えられるようになりました。
なお、どんなに食いついていたおもちゃも、やっぱりいずれ飽きます。そのときは一旦そのおもちゃをしまって、新しいおもちゃに乗り換えです。新しいおもちゃを買って来た時も、そのおもちゃのどんなところに興味を持ったか(黒目が大きくなったか)を注意してみるようにしています。
そしてまたそれにも飽きたら、しばらくやってなかったおもちゃに戻ってみる。そういうローテーションをしています。
猫もみんな個性があり、性格が違います。猫という生き物としての特性だけではなく、その猫の面白がりのツボを見つけられると、双方ともに遊びに夢中になれそうです。
すでに猫との遊んでいる人には当たり前のことかもしれませんが、自分の気づきということで。
カレンダー2017 岩合光昭×ねこ 週めくり卓上 (ヤマケイカレンダー2017)
- 作者: 岩合光昭
- 出版社/メーカー: 山と渓谷社
- 発売日: 2016/10/07
- メディア: カレンダー
- この商品を含むブログを見る
ソフトバンクからmineoに変更して2ヶ月経って、変わったことと変わらないこと
使い続けていたソフトバンクからmineoに乗り換えて、2ヶ月経過しました。
mineoはMVNOと言われる・・・ざっくり適当にそれっぽく言うと格安SIMな、そういうものです。(格安SIMが何を指してるのか、もはやわからないような使われ方をしてる気がしますけども。)
実際どう変わったのか、変わってないのか。後で振り返ってみると楽しいかなと思い、現時点のまとめ。
変わったこと
料金
やはり料金です。ソフトバンクを使っていた時は、iPhone5sを使っていました。2年の分割払いも超えて、6sにすることなくそのまま。
僕は勘違いしていたのですが、2年間かけて端末代を分割で支払った後も、別に月々の支払い金額は変わらないです。なんちゃら割と言う名目がなくなって、結局同じ金額を支払ってました。「今回は長く使ってみよう」などと思って過ごしてましたが、2年ごとにきっちり機種変をした方が良かったです。
僕は通話をほとんどしない使い方で、毎月9,000円くらいでした。
mineoでは音声通話がある3GBデュアルタイプのコースを選び、毎月1,600円です。このタイミングでSIMフリーのiPhone7を購入したので、別途約90,000円がかかっています。
これをソフトバンク時代と同じ金額で分割したとしても、
90,000円 ÷ ( 9,000円 - 1,600円 ) = 12.23ヶ月
となって、だいたい1年で支払い終わることになるようです。もちろんその後は、ソフトバンクと違って料金が維持されることもないです。
SMSの利用頻度
ソフトバンクを使っていて、良かったこともありました。僕はホワイトプランだったのでSMSの送信が無料もしくは3円でした。
それがmineoだと3〜30円/通になったため、細切れにSMSのやり取りすると気がついたら数百円とかいきそうで、なんとなく気が引けてます。
そういうのもあって、SMSではなくメッセージアプリに移行していってます。
個人的にはあまりLINEを使っていないため、AndroidでiMessageが使えるようになってくれたらいいなぁ・・・と思ってます。もしくはみんながSkypeやSlackを使う!
気持ち
料金が安く抑えられることと、なんちゃら割・なんちゃらプランなどの言葉責めにあわなくなることによって、気が楽になりました。スマホ関連でいくら支払ってるのかが把握しやすいので、スッキリしました。
変わらないこと
使い心地
回線がソフトバンクからドコモに変わりましたが、電波の繋がり具合に差を感じることはあまりないです。混雑する時間帯に速度が遅くなるということは聞きますが、僕はスマホで動画を見たりという習慣がないため、それはなんとも言えません。少なくとも自分が使っている範囲では、チャットなどの応答が悪くなるということは感じていません。昼休みや行き帰りに速度が必要な人は、よく調べた方がいいのかも。
こうしてみると、親兄弟がそんなにこの方面に明るくないため、連絡方法をSMSから移行するのが大変です。今はE-mailで来たり、SMSで来たり、LINEで来たりと毎回違って困ってます。返信をしても、何で送ったかを覚えておらず読まれなかったり。。
先にその辺りを整理したり手段を用意しておくと、このような混乱がなさそうです。
すでに連絡系がLINEなどが主流の人は、何も気にせずMVNOの各社を使えて気持ちも晴れ晴れするんではないかと思いました。
MVNOの会社も続々と参入し、サービスもどんどん変わっていくと思うので、半年、1年後にどんな感想を持ってるのか、自分でも楽しみです。
mineo エントリーパッケージ au/ドコモ対応SIMカード データ通信/音声通話 (ナノ/マイクロ/標準SIM/VoLTE)
- 出版社/メーカー: ケイ・オプティコム
- 発売日: 2015/03/27
- メディア: エレクトロニクス
- この商品を含むブログ (16件) を見る
MAMPでphp.iniの設定が効かない!?
ウチの猫が長いこと遊んでるおもちゃ・あんまり遊ばなかったおもちゃ
自分のことを振り返ったので、猫についても振り返ってみようと思います。
猫と一緒に暮らすまでは、単に「猫じゃらしみたいなのがいいんだろうな」と思っていました。実際に店頭でもまずそういうのが目につく場所にあります。
ところが、うちの猫はあんまり食いつかない。
どういうのが好きなのか・食いつきが良いのか。どうやら猫の性格によるようです。まあ、当たり前ですよね。人間も同様ですし。
また、同じおもちゃでも、遊び方によって目の輝きかたが違います。
そこで、どんなおもちゃをどうやって遊んでるのかを振り返ってみようと思います。
猫の性格
うちの猫ですが、雑種のオスで今3歳です。どっちかというと活発。特定の時間帯に限らず、よく走り回ってるように思います。
また、全く知らない人が家に来た時などは、最初は物陰に隠れて覗いてるものの、すぐに様子を見に近寄ってくるようなタイプです。
そして無類の紐好き。家中の見えてるコードは噛みまくります。
食いついたおもちゃ
振動を与えると、音がする小さなぬいぐるみです。↑はウサギですが、動物の形に行くつかバリエーションがあります。形は違っても、どれも同じ「ピーピー」という音がします。棉の中にプラスチックのケースに収まって小さなスピーカーとボタン電池が入っています。
これを遠くに投げると走って追いかけてくわえて帰ってくる みたいなことをしてます。投げた先が視界に入ってない方が良いようです。
盛り上がりすぎて強烈に噛んだりすることがありますが、電池まで飛び出て来たことはないです。ただ、縫製が頑丈ではないので、縫い目が解けてきやすいのが難点。
臆病気味の子の場合、この音を怖がって近づかないこともあるようです。
シャカシャカと擦れる音がしやすいトンネルです。使わないときは畳んでしまうことができます。
彼が覗き込んでるときに、反対側から覗き込むと黒目が大きくなって飛び込んで来ます。しばらく走り抜けた後は、中に入ってゴロゴロ過ごしてたりもします。
音を立てやすい素材で破って遊んだりすることも目的になってるようですが、 ウチの猫は破れたところを食べようとするため、目は離しにくいです。
棒の先に、紐で繋がった硬めのビニールの羽がついたおもちゃです。
これをゆらゆらさせながら部屋の中を歩き回ると、後ろからついて来ます。台の上や物陰に隠しながら運動させてます。
ゆっくりな動きに飽きて来たら、ビュンビュン振り回してやると大ジャンプで飛びかかっています。
持ち手の棒がプラスティックで、キャッチされたときにタイミングがあってしまうと折れ曲がったりします。羽部分にはふわふわした飾りもついてるのですが、新品で遊び始めても数分で千切れてしまうのが弱点。
これは「音が出るおもちゃ」と「紐の先に飾りがついたおもちゃ」の合わせ技で、しかも紐の部分がゴムという、ウチで最強のおもちゃです。
振ってる時も音がするし、キャッチすると音がする。しかもゴムなので予想しにくいし、瞬発的な動きも混じります。
素晴らしい!
食いつかなかったおもちゃ
棒の先に硬めのビニールや羽がついたおもちゃです。
上で紹介したのと似てるのですが、違いは棒と羽が直接ひっついていること。
どうしても動きの範囲が狭まるのと、予想外の動きがしにくいために、最初こそ手を伸ばそうとしますが、そのうち座って見つめ始めました。
ウチでは、このタイプの棒直結系はいずれも負けでした。
電池仕掛けで棒の先に飾りがついたおもちゃが、不規則に回転するおもちゃです。
最初こそこの写真のように飛びついたのですが、不規則とはいえ動く位置が円周上なので、そのうち少し離れた場所でゴロンと横になり眺めていました。
体が小さかったりすると、相対的に動きが大きくなって遊びやすいのかもしれませんが、うちのはかなり大柄なためか全くでした。
クッション生地の寝床です。中に入って遊んだり寝たりできればいいなと思って買いました。
しかし、これは球状というか平らな部分がないために、不安定なところが嫌いなうちの猫は全く入ろうとしませんでした。もっとも、体が大きくて丸まらないと収まらないという状態でもありましたが。
こうしてみてみると、食いつきがいいのは動きが大きく遊べるもののようです。逆に食いつかないのは、動きの範囲が狭いものと言えそうです。
どんどん食いつくおもちゃの登場を求ム!!