gitで内部的に呼ばれるsshを別のユーザーとして実行する

この例では、ユーザーfooとしてsshを実行します。
1. ラッパースクリプトを作成。ここではssh-as-fooとしてます。
#!/bin/sh
ssh -lfoo -i/home/foo/.ssh/id_dsa "$@"
2. GIT_SSH環境変数に、上記のスクリプトを指定。
$ GIT_SSH=ssh-as-foo git pull

直接、通信できないホストからポートフォワーディングでsshログインする。

次のような環境を想定します。ホスト2からログインする方法を紹介します。

通信可能: host1 -> host2
通信付加: host1 x<- host2

1. ホスト1でhost2にポートフォワードします。
(host1)$ ssh host2 -R 8022:localhost:22
上記コマンドは、host2の8022番ポートを、host1(localhost)の22番ポートにフォーワードします。


2. ホスト2で、ポートを指定してログイン
(host2)$ ssh -p 8022 localhost

FirefoxからSafariにブックマークをインポート

メニューの「ファイル」→「読み込む」で「Firefox」を選べばよい。


いままでは、Xmarksとか使っていんだけど、ゴミが入ったり、Firefox syncと競合するのか、内容が壊れたりすることがしばしばあった。私は、それほど頻繁にブックマークの更新をしないので、必要がある度にこうやって手動でインポートすれば、問題ない。

GNU screenで実現するどこでも開発環境

GNU Screenをクラウド上の仮想マシンや、遠隔地に配置してあるマシンで実行させた時の便利さはこの上ない。接続が切れても、つなぎ直せば、それまで使用していた環境が一瞬で復元される。CUI版のリモートデスクトップあるいはVDIといったところ。

最近は、MacBook (2015年春モデル)を、しばしば利用する。そのコンパクトさと軽量さゆえ、外に持ち出すにはもってこいだ。CPUパワーに関しては、非力とまでは言わないが、このマシンでバリバリ開発するのは、Core i7を搭載した高性能なサーバーやデスクトップ機と比べて相対的に効率が悪い。

このマシンとの外出時、ネットワークで遠隔の開発マシンにsshでログインし、screenにアタッチすると、どこでも開発が行える。カフェなどでWIFIが使えれば最高だが、そうでない場合、IIJmioのSIMを入れたiPhoneでテザリングしてもリモートマシンへのpingが100ms前後は出る。少しレスポンスに遅さを感じることもあるが、実用にはなる。それよりも、ちょっとした時間や、アイデアが思いついたとき、迅速に作業できることが、なによりも大きな価値だ。

私がいつも、ログインに使用するコマンドは以下のようなものだ。

$ ssh remote-machine -t "screen -dr pts-1"

iPhone6 (Plus)でカーソルを表示

画面を横にする!

これだけなんですが、普段、縦メインで使っているので気づきませんでした。

縦表示時にカーソル記号はない

カーソル記号:<と>が表示されている



iOS9 on iPhone6s with IIJmio SIM

掲題の組み合わせでも問題なく動作。テザリングもバッチリ。