2018年10月3日水曜日
2017年6月22日木曜日
MacMiniに外部からSSH接続できるようにしてみる。
れっつとらい
ここから備忘録。
- 暗号鍵作成
パスワードの認証だとガバッちゃうからまず認証用の鍵を作る。
$ cd ~
$ mkdir .ssh
//暗号鍵作成
$ ssh-keygen -t rsa
//ここから「パスフレーズを設定するか」何かを英語で尋ねられるけど、
終わるまでEnter連打でも大丈夫。
//認証公開鍵の複製
$ cat id_rsa.pub >> authorized_keys
//認証鍵のアクセス権変更
$ chmod 600 authorized_keys
この作業後に生成されたid_rsaのファイルを優先で端末に転送しておく。これを-iオプションで鍵に使うことで認証できる。転送が終わったら念のため下記。//鍵の削除
$ rm id_rsa
- ssh設定変更
不本意なお客にノックされたり、入られたりしないように設定をいじる。
$ cd /etc
//設定ファイルのバックアップ(大切!)
$ sudo cp /etc/sshd_config /etc/sshd_config.back
//設定ファイルを開いて編集
$ sudo emacs /etc/sshd_config
emacsでもviでもいいから開いて、下記のところを編集する。具体的には、前半の項目名と同じところが有るので後ろのyes/noをかえたり、行頭の#を外したりする。編集したら保存を忘れずに。//ルートでのログイン禁止 PermitRootLogin no //RSA認証の有効化 RSAAuthentication yes //"authorized_keys"ファイルの場所 AuthorizedKeysFile /Users/hoge(ユーザーのid)/.ssh/authorized_keys //パスワードによる認証不使用 PasswordAuthentication no //空のパスワードは拒否 PermitEmptyPasswords no //チャレンジレスポンス認証を不許可 ChallengeResponseAuthentication no
- 使用ポートの変更
ssh標準のポート22を使ってると、やはりノックされまくるらしいので使うポートを変える。
開いたファイルの下記の箇所を書き換える//設定ファイルを開く $ sudo emacs /etc/services
//前 ssh 22/udp # SSH Remote Login Protocol ssh 22/tcp # SSH Remote Login Protocol //後 ssh 10022/udp # SSH Remote Login Protocol ssh 10022/tcp # SSH Remote Login Protocol - ホスト側のグローバルIP確認
ホストのMacからこういうところ(グローバルIPアドレス確認 - CMAN)にアクセスしてグローバルIPを調べてメモっておく。 - ルーターの設定からポート開放設定
自分の家のルータの設定を変更して、上で設定した10022番ポートがホストに回してくれるよう設定する。ルーターごとに設定が違うのでググらなければいけない。我が家は憎きSoftbank光なので以下
- 192.168.11.1に接続、user/userでログイン
- 詳細設定を開く -> ポート転送
- 有効/無効 -> 有効
プロトコル -> tcp
WAN/LAN側ポート両方 -> 10022-10022
転送先IPアドレス -> 自分のMacのローカルip(ネットワーク環境設定から手動設定にして固定するといい)
- リモートログインを有効にする
システム環境設定を開き、共有>リモートログインにチェックを入れる。
$ ssh -p 10022 -i "鍵のファイル" アカウント名@グローバルIPアドレス でssh接続できるようになる。is01でemacsを開いてgcc/javacして実行もできるぞ!
グローバルIPとDDNS
グローバルIPアドレスはたまに変わる。これが嫌な場合はDDNSサービスを利用することで解決できる。自分はNo-IPというサービスを使ってアドレスを固定している。サインインしてホストにクライアントを入れるだけの簡単仕様なので調べてみるとよろし。is01とConnectBot
is01からのssh接続にはConnectBotを使うことにした。至極当たり前だけど、is01にはCtrlキーとEscキーが無い。そのため、ショートカットを用意してくれているんだけど、使いづらい。おまけにShift+数字がファンクションキーの判定になって記号が打てない。軽くググると、 ConnectBotはオープンソースなので自分で書き換えてビルドすればいい とのありがたい言葉が出てきた。が、何故かEclipseがうまく動かなかったので断念。更にググると、改変済みのapkを配布している優しい人がいた。神はいる。
ここ(is01アップローダー)からダウンロード、インストールするだけでOK!
ConnectBotで鍵ファイルを使う場合は
1. SDカードに鍵ファイルを転送
2. ConnectBotを開きMeueキーから公開鍵管理を開く
3. Meueキーからインポートを選んで、鍵ファイルを選択
4. 一度失敗してもいいからホストに接続を試みる
5. Backキーで一覧に戻って履歴を長押し>接続ホストの編集
6. 「公開鍵認証を使用」をタップして、さっきインポートした鍵を選ぶ
で準備完了。
このapkのConnectBotはShift+数字が正しく記号になるのに加えて、”絵・顔・記”キーが”Ctrl”,”文字”キーが”Esc”に当てられてる。これでコーディングができるねやったね!
参考
No-IP : https://www.noip.com/ソフトバンク 光ユニット ポート開放 : https://www.akakagemaru.info/port/bbunit.html
スマホからSSHで自宅のMacへ接続する方法 (前編) : http://jrkl.hatenablog.com/entry/ssh_connect1
Macに外部からアクセス出来るようにする方法 : https://rcmdnk.com/blog/2013/10/29/computer-mac/
2017年6月9日金曜日
U-mobileLTE使い放題とモバイルルーター
モバイルルーターがあれば、外で確保すべきものが電源だけになってやりやすい。
ついでに端末をいくつ持っても、モバイルルーターがあればネットに繋げられる。テザリングでメイン端末の電池持ちを心配することもない。そんなわけでモバイルルーターと、せっかくなんでLTE使い放題のSIMを使ってみようと思った。
2017年5月19日金曜日
nexus7とdeep sleep
つい先日、おじいちゃんに貸し出されていたnexus7(2012)が我が家のiPad2と引き換えに帰ってきた。年をとるとやはりiPadの方が使いやすいのだろうか…それはさておき、寝かせておくのももったいないから活用、というか使えないか考えた結果ROMを焼いて遊ぼうという考えに至った。というかやってみたかった。
CM13を焼く
CMとはCyanogenModの略称で、界隈では有名なカスタムROMのベンダー?ブランド?らしい。今回焼くのはそのバージョン13の非公式ROM(個人がカスタムしたもの)。オリジナルのCM13はAndroid6.0.1をベースにしたROMなので、出来上がるのはMarshmallowな端末ということになる。
参考
Nexus7 2012 にAndroid6.0 Marshmallowを導入してみた - 木陰の魚、エビに喰われる
2017年5月17日水曜日
IS01での失敗と再興
目次
2017年5月15日月曜日
Vivaldiでのあれこれ
普段ブラウザはメインがVivaldi、サブがChromeでやってる。このVivaldiが曲者で、タブスタックやサイドパネルなど便利な機能がある反面、不具合なのか仕様のかわからない挙動もある。個人的な対処の備忘録。
2017-05-15現在 Mac版64bit 1.9.818.49での記事
ページ読み込み後にしばらくフリーズする
ページを読み込んだ後、数秒間一切の操作を受け付けなくなる現象。放置しても治らないよう。そこまで重大な問題ではないけど、急いでいる時には凄まじくストレスになる。
-> Shift + ⌘ + Delete で「プライベートデータの削除」のメニューを出し、キャッシュとアプリケーションキャッシュを削除する。自分はこれで解消された。Magnetと⌘Hが効かない
Macで愛用しているウィンドウ管理アプリ「Magnet」。キーボードでウィンドウサイズを定形に変えられる便利なアプリだが、Vivaldiでは効かない。ついでに⌘Hで隠せないときもある。これが地味にイライラさせられる、Chromeでは問題ないのに…
-> 新しいウィンドウを出すたびに、そのウィンドウを最大化、その後最大化を解除。こうするとウィンドウサイズの変更等々が効くようになる。入力した文字が化ける
アドレスバーなんかで文字を入力して検索すると、入力した文字がちょくちょく化けてしまう。文字を未変換のまま削除すると、backspaceの文字コードが入力されてしまうのが原因らしい。未解決の問題なのでアップデートを待つしか無い。
-> 対処としては未変換での文字の削除を避けること。効率は落ちそうだけど、仕方ない。文字化けした際は日本語部分を削除してかなキー・英数キーを交互に連打したあと再度入力すると文字化けしないときもある。
2017年5月1日月曜日
Java戦車道(Robocode)
楽しいGWに埋もれるほどの課題
大学は5/1,2を休校にし、9連休を与えた。
しかし、学生には途方もない課題だけが残った。 4月末 某所 まっつん
しかし、学生には途方もない課題だけが残った。
というわけで9連休を手にしましたが、課題の量ですでに頭がいたいです。頑張ります。
それで本題ですが、今回出されている課題の中に
Robocodeで強いロボット(戦車)を作ってレポートを書く。ついでにそのロボットの特徴や戦術をプレゼンしてね。
というのがある。