SSH Tips

known_hosts

SSHは鍵認証を必要としますが、その鍵は ~/.ssh/known_hosts に登録されます。サーバが再インストールされたときなどにはこの鍵は変わってしまうので、pingは通るものの認証に失敗してしまうというときには、known_hosts のそのホストの行を削除してから試してみるのが吉。

Connection reset by peer

SSHでログインしながらブラウザで調べ物をしたりしていると勝手に接続が切れてしまうというときに。
~/.ssh/config に

ServerAliveInterval 60

などと記述することでsshプログラムが一定の間隔で接続要求を出しコネクションを維持してくれる。60はその間隔(秒)。

トンネリング

同一ネットワークからしか見れないサイトを立ち上げているときなどに。
server.domainという同一ネットワークからのみアクセス可能なWebサーバがあり、踏み台サーバstep.domain(外部からアクセス可能)にaccountというアカウントがあると仮定。

$ ssh -L 5000:server.domain:80 account@step.domain

としてlocalhostのポート5000をserver.domainのポート80に接続。5000は使用可能なものであれば違う数字でも構いません。また、Webサーバを見ると言う設定なのでHTTP用ポート80を指定しています。外部ネットワークを通じてメール送受信などのとき(25など)やtomcatページ(デフォルトは8080)など、目的別に変えてください。

で、ブラウザのプロキシ設定で"HTTPプロキシ"のところに"localhost"または"127.0.0.1", ポートに"5000"を指定すればserver.domainのWebサイトが見れるようになるはずです。