uzullaがブログ

uzullaがブログです。

セパレータがはいった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だよ!