いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.101 / 読者数:1034名

こんばんは、うすだです。

ここのところ、本業も家庭も趣味も、やることがいろいろあって、 日々がめまぐるしく過ぎ去っていっているような感じがします。

トラブルが連発しているというわけではないのですが、 やることが次から次へと出てきて、対処しているうちに1日が終っている、 という具合です。

充実している、とも言えそうですが、先のことを考える心の余裕がなく、 やりたいことがほとんどできていないのは、あまりよくないですよね。

忙しくても、心の余裕は持たないといけない、と思います。
やみくもに焦らず、立ち止まって考えられるよう、 心がけていこうと思う今日この頃です。

なんかうまくまとめたふりをして、今週も、はりきってまいりますよ。

今週のお題 - SSH でファイアウォールを越える

システム管理者は、昼夜を問わず、なにかトラブルなどがあると、 現場へかけつけなければならない、という宿命を背負っています。
まるで、ドラマに出てくる殺人課の刑事さんのようですね。

しかし、システム管理者もニンゲンですので、24時間フル対応するわけにいきません。 他に用事があって、かけつけられないこともあるでしょう。

そんなときに、遠隔で作業できれば、現場に行く必要がなくなります。
大事な用事に遅れることもないし、 束の間の休息を大きく中断されることもなさそうです。

ただ、自宅などの外部から、 会社のゲートウェイに SSH で遠隔ログインする許可は与えられていても、 社内のマシンと直接やりとりすることは、普通は許可されていないですよね。
しかし、許可されていないときに限って、 そういうニーズが発生するものではないでしょうか。

というわけで今週は、SSH のポートフォワード機能を使って、 社内マシンと直接お話できるようにしてみたいと思います。


まずは、Linux などの、ssh コマンドを用いる方法から、ご紹介します。

ssh コマンドを用いて、ゲートウェイにログインする場合、 以下のように ssh を実行すると思います。

  ssh ゲートウェイ

ポートフォワード機能を用いる場合は、-L オプションを使用します。

  ssh -L 手元のポート番号:社内マシン:接続先ポート番号 ゲートウェイ

このように実行すると、ゲートウェイに遠隔ログインするとともに、 社内マシンの接続先ポート番号へ、 手元のマシンから直接 TCP で接続できるようになります。

たとえば、社内の WWW サーバである 192.168.1.1 に、HTTP でアクセスしたいとき、 以下のように実行します。

  % ssh -L 1080:192.168.1.1:80 ゲートウェイ

上記を実行して遠隔ログインしたら、ブラウザを起動し、

  http://localhost:1080/

を開くと、192.168.1.1 の WWW ページに直接アクセスできます。

ちなみに、手元のポート番号は、1080 番でなくても構いません。
たとえば、root の権限で ssh コマンドを実行できて、 なおかつ 80 番が未使用であれば、手元のポート番号に 80 番を指定できます。

  # ssh -L 80:192.168.1.1:80 usu@ゲートウェイ

もちろん、HTTP だけでなく、POP3 や SMTP などにも使えます。
たとえば、社内の POP サーバからメールを読んだり、 SMTP サーバへ直接メールを送信できるようになります。
(もちろん、MUA の設定(サーバが localhost, ポートが手元のポート)は必要です。)


手元のマシンが Windows の場合は、どうしましょうか。

SSH 対応の Tera Term Pro や Putty などの SSH クライアントがあれば、 ポートフォワードの機能を使うことができます。

Tera Term Pro の場合は、
まず、「Setup」メニューの「SSH Forwarding」を選択します。
次に、「Add」ボタンを押して、「Forward local port」に手元のポート番号を、 「to remote machine」に社内マシン、 「port」に接続先ポート番号を指定します。
記入し終わって、「OK」ボタンを押すと、前の画面に戻ります。
「Port Forwarding」の一覧に追加されていることを確認したら、 「OK」ボタンを押します。

Putty の場合は、
まず、「Putty設定」の「接続」->「SSH」->「トンネル」を選択します。
次に、 「新しいフォワードされるポートを追加」直下の「源ポート(S)」に手元のポート番号を、 「送り先(I)」に社内マシンと接続先ポート番号を : で区切って指定します。
そして、「追加」ボタンを押すと、すぐ上の一覧に追加されます。

どちらも、文章で書くとややこしいですが、実際にやってみると、 わりと一目瞭然…のはずです。

 

説明だけではアレですので、社内マシン 192.168.1.2 が Windows XP Pro だとして、 こやつにリモートデスクトップ接続してみたいと思います。

Putty の場合は、
「源ポート(S)」に 3389 を、「送り先(I)」に 192.168.1.2:3389 を指定してから、 ゲートウェイに SSH で遠隔ログインします。

Tera Term Pro の場合は、
一旦ゲートウェイに SSH で遠隔ログインして、「Forward local port」に 3389, 「to remote machine」に 192.168.1.2,「port」に 3389 を指定します。

上記の設定ができたら、リモートデスクトップ接続を起動します。
そして、localhost に接続してみてください。
つながれば成功です。社内の Windows マシンを操って、 仕事している感が得られるのではないかと思います。


以上、SSH のポートフォワード機能の使い方を、ご紹介しました。

…すみません、ちょっと息切れ気味ですね。
でも、知っているとなにかと便利です。もし万が一知らなかった貴兄は、 じゃんじゃん試してみてください。

あと、念のため、Tera Term Pro と Putty の入手先を書いておきます。
お持ちでないかたは、インストールしておきましょう。

Putty で ISO 2022 による日本語入力・表示を可能にするパッチ
http://hp.vector.co.jp/authors/VA024651/#PuTTYkj_top

UTF-8 Tera Term Pro with TTSSH2
http://sourceforge.jp/projects/ttssh2/

宿題の答え

先週の宿題は、

  2つのディレクトリ以下のファイルを比較し、内容が同じであることを
  確認するスクリプトを作ってみましょう。

でした。

こんなふうにしてみました。

  #!/bin/sh
  if [ $# -ne 2 ]; then
      echo "Usage: $0 dir1 dir2"
      exit 1
  fi
  (cd $1; find . -type f -exec md5sum {} \;) | (cd $2; md5sum -c)

前半の if 文は、単に、引数の数をチェックしているだけです。
肝は、後半…というか、最後の1行です。

パイプの左側では、1つ目のディレクトリに移動して、例の find を実行しています。 その出力結果が、そのままパイプに渡されます。
そして、パイプの右側では、2つ目のディレクトリに移動し、 パイプからの md5sum のデータをもとに、チェックを行います。

…あ、それだけでした。
おそろしく単純ですが、機能は満たしていると思います。
よろしければ、それっぽい名前をつけて、使ってやってください。

今週の宿題

今週の宿題は、

  SSH のポートフォワードを、複数設定してみましょう。

です。

Putty や Tera Term Pro の場合は、複数追加だけですが、ssh コマンドの場合は、 どうすればよいでしょうか。
べつに難しい操作が必要、というわけではありませんので、 試行錯誤してみてくださいませ。

あとがき

結婚して子どもができると、独身の頃の自由奔放さが失われる、 と言っても過言ではありません。

わたし自身、結婚して子どもができてから、 家庭に振り回されっぱなしの生活を強いられてきたなぁ、と思うこともしばしばです。

しかし、実は、それと同等の、いや、それ以上の恩恵を受けてきたのだ、 という思いを、ようやく最近、実感できるようになりました。
(遅過ぎるよ! という心のツッコミを、多数得られそうですが…。)

特に最近感じたことは、感情のコントロールです。

わたしは、一旦腹が立つと、ずるずると長引かせる癖を持っています。
会社でイヤなことがあると、ずーっと不機嫌なまま過ごしてしまいます。
でも、不機嫌なままで過ごしていても、 他の社員のひとから指摘されたりはしないわけですね。

しかし、家に帰って、その感情を家族に直球でぶつけたり、 閉じこもっていたりすると、即座に反応が帰ってきます。
うちのよめは、そういうところを的確に指摘するので、つかれた直後は、 むかっと来ますが、後から、よめの指摘が正しかったことに気づき、 ああアレはいかんかったなと、素直に反省することができます。

これが、ひとり暮らししている身で、指摘してくれるひとがだれもいない場合、 間違いに気づかないまま、ずーっと引っ張ってしまう可能性があるわけで、 そう思うとちょっと恐いです。
(悩みを言い合える友だちがいればいいのでは、とも言えそうですが…。)

ですので、結婚に躊躇している独身のかたは、恐れを抱かずに、 さっさと結婚してしまいましょう。少なくとも、視野は広がりますよ。
(…すごい強引にまとめましたよ。)

 

さて、来週から、黄金週間とやらに突入します。
弊社はカレンダー通りなのですが、大手企業様では、 大型連休などというすばらしい制度を導入されているところもあるそうですね。
お休み中に発行するのもいかがなものか、と思われますので、申し訳ありませんが、 来週はお休みをいただきたいと思います。

正直に申しますと、納期がたいへんシビアなお仕事があり、場合によっては、 カレンダー通りに休むこともままならない可能性があります。
下手すると、メルマガ書いてらんないかも、ということですね。(-ε-;;

そんな境遇にない貴兄は、たっぷり休養をとって、 連休後の戦いに備えてくださいませ。 (そういや、去年もそんなことを言ったような気が…。)
そんな境遇にある貴兄は、おたがい、がんばって乗り切りましょう!

 

今週も、ここまで読んでいただき、ありがとうございました。
それでは、また来週…じゃなくて来々週に、お会いしましょう!

 

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−最近、ネタを思いつきやすいです。春だから?
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)
http://www.fumido.co.jp/kuriniki/ (栗日記ぎゃらりー)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本