たとえば組織の内部者専用ページなんかは、
セキュリティの関係上限られた範囲のネットワークからしか
アクセスできないように設定されていることが多いです。

でも家や外出先からでも内部者専用ページが見れるととても便利。
というか見れないのはものすごく不便。

これを解決するには知る限りでは2つの方法があるのですが、
今回はひとつめです。


1. ssh×ポートフォワーディング

内部者専用ページにアクセスできるPC(A)でsshdを起動させておいて、
そこ経由で内部ページにアクセスしてやる方法です。
とどのつまりプロキシサーバーですね。

この方法を使うには、Aが外部からIP指定によってアクセスできる必要があります。
firewallなどのネットワーク設定によっては使えない場合があるのでご注意を。
またsshサーバーとして用いるPCとアクセスに用いるPCにおいて
sshの設定(鍵の生成その他)を事前にしておく必要がありますが、
そこらへんについては他のページが詳しいので割愛します。

さて、ポートフォワーディングというものを使います。
説明すると長いので使いかただけを書くと・・・

  1. $ssh -L 8080:[Bのアドレス]:80 username@[Aのアドレス]
  2. パスフレーズなどを入力してAにログイン
  3. ログインできたらターミナルは放置、Webブラウザを起動
  4. 設定でプロキシサーバーとしてlocalhost:8080にする
  5. アドレスバーで「http://localhost:8080」と入力

とすればBのページにアクセスできます。
たとえば内部ページにアクセス可能なPC(IPアドレス192.168.0.1)の
「hoge」というアカウントを使って内部ページhttp://plog.jpを見たいとすると、

$ssh -L 8080:plog.jp:80 hoge@192.168.0.1

となります。
意味合い的には
「本当は別の人だけど、今回はAのhogeさんとしてplog.jpにアクセスしますよ」
ということになるのでしょうか。

ちなみに8080(ポート番号)は別の数字でもOKです。
だだし80など事前に割り振られた番号は使えません。
そこらへんは「ポート番号」でググれば情報がたくさんでてきます。

emacs上で動くタッチタイピング練習ソフト「trr」。
古参ですがクオリティは最高峰だと個人的には思っています。

さっそくインストール。

$ sudo apt-get install trr19

使うにはまずemacsを動かします。
ただし最新のemacs22だとうまくロードできないので、
emacs21を使います。
emacs21が入っていなければインストール。

$sudo apt-get install emacs21

で、デフォルトでemacs21を起動するように設定します。
つまりemacsと打てばemacs21が起動するようにしてあげるわけです。

$ sudo update-alternatives --config emacs

選択肢が出るので、「emacs21」と書いてあるものを選びます。
ちなみにemacs21-noxなどもここから選べるようです。

さて、trrを起動するには

  1. emacsを起動
  2. M-x (Escとxを同時押し)
  3. trr とタイプ

とします。終了するには

  1. C-x (Ctrlとxを同時押し)
  2. C-c (Ctrlとcを同時押し)

です。

ひたすらタイプをして練習するものなので、
ホームポジションって何?な人にはしきいが高いかもしれません。
でも使い勝手がすごくよく、また無駄もないので
使い始めるとどっぷり浸かっちゃいます。

ちなみにデフォルトでインストールされている練習文章は全て英語ですが、
日本語の文章を手作業でインストールとかできるんでしょうか。


ただいまコンスタントに世界標準(200ポイント)を出せるよう練習中。

ubuntuのemacsはGtkに対応しているので、
シェルでemacsと打ったら別ウィンドウが出てきます。

俺としてはそれは気持ち悪い。
emacsはシェルの中で起動してほしい。

その時はこうします。

$ emacs -nw

-nwオプションをつけることで、
昔ながらのemacsライクなUIが使えます。

GTKのなんて絶対使わねえよ! な人は

alias emacs='emacs -nw'

を~/.bash_profile または/etc/profileに
書き加えてあげましょう。


ちなみに俺はemacsよりnanoの方が好きです。

・・・しようと思ったのですが、
調べて理解するのに時間がかかりそうです。

また後日ということで。