セパレータがはいったWifi環境で、隣のPCにsshするメモ
八王子のいいかんじのコワーキングスペースであるところのfabbitにいって、いい感じだなとおもいました(小学生の日記)
レンタルオフィス fabbit八王子 | コワーキングスペース・レンタルオフィスのfabbit
なんかちょっとした渋谷のIT企業っぽいですよね、八王子とはおもえん。
デジタルファブ(3Dプリンタ、レーザーカッター)も気になるし、土曜にもかかわらず人もいたのでいきなり消滅しなさそうで*1それもよい。
ぜひ続いてほしい。
さて、ちゃんとしたコワーキングスペースなどが提供するWifiは、セパレータ(プライバシーセパレーター、ネットワーク分離、APアイソレーション、Wifiでもなくてもポートセパレータなど)で隣のマシンと通信はできない。
これは嬉しいことではあるのですが、隣のPC、たとえばヘッドレスなRaspberry pi と通信したい時には少々面倒。
Raspiなら一つ前でも言及したUSB Gadget Etherなどで接続するのが一番だとおもいますが、まあこいつがちゃんと動かない時もあるので私はシリアルでMacとRaspiをつないでしまう。
となるとシェルはいいけどscpがないのでファイルが転送できない *2 、かといって手持ちのスマホでAPをたててつなぐと作業してる内にギガが減る。
…という非常に限られた状態においては、インターネットにおいてあるサーバーを経由してsshすることになりますよね。それのメモです。
接続先としたいPCで実行
(上にも書きましたが、なんらかの手法でシェルにはさわれないと駄目です)
$ ssh -R 1122:127.0.0.1:22 your_login_id@your_server.example.jp
screenとかで永続化しておくとよいでしょう。
操作元からの接続
$ ssh -o "ProxyCommand ssh -W %h:%p your_server.example.jp" -p 1122 pi@127.0.0.1 # scpはポート指定がpからPに変わるので注意…してても間違える $ scp -o "ProxyCommand ssh -W %h:%p your_server.example.jp" -P 1122 pi@127.0.0.1:~/sample.png .
まあ、こういうOptionは.ssh/config
に書くのが筋なんですが、まあ使い捨てだし。
sshだけでない場合はSocks
$ ssh -o "ProxyCommand ssh -W %h:%p your_server.example.jp" -p 1122 -D 1080 pi@127.0.0.1 # した上で、ブラウザのProxyでSOCK5 localhost:1080設定
以上です。
*1:昔、最寄りのコワーキングスペース消滅した
*2: cat > file?バイナリだときびしくない?ZMODEM?時代錯誤じゃない?っていうか115200bpsだよ!