ようこそゲストさん

chibilog

2010/06/08(火) sshで知っておくと便利なこと

はてブ情報 はてブに登録 はてブ数 2010/06/08 24:55 Ubuntu

sshの基本的な操作じゃなくて、知っていると便利なことを書いていくことにします。主にポートフォワーディングについて。

説明をわかりやすくする為に、『社内と社外』なんて卑猥な言葉を使っているけれど、学生の人は『自宅と学内』などに読み替えてくれればいいのではないかと。


IMAPの経路を暗号化する

会社で使うものと言えばメールだと思うんだけど、どういうわけかIMAPSやPOPSは提供されていなく、IMAPやPOPでしかメールの受信が出来ないものとする。この2つのプロトコルでは暗号化されないので、メールの内容はおろか、パスワードまで平文で流れてしまうので危険。

例えば、自分のマシンでどんな感じでIMAPと通信されているか確認するには、ngrepを使うと簡単に確認出来る。

ngrepのインストール。

$ sudo aptitude install ngrep

IMAPとの通信に絞り込んでキャプチャ。

$ sudo ngrep -q port 143

この状態でメールの受信をすれば、色々と危険なことが分かる。ちなみに通常の状態であれば、LAN内の他のマシンのパケットをキャプチャ出来ない。しかし、ARP SPOOFINGやスイッチ自体に総攻撃を仕掛けて飽和状態にさせたりなどの手法を使えば可能なので(こんなことを職場でやる人間は居ないと思うが……)、安心は出来ない。

そこで、sshを使って簡易的にIMAPの通信を暗号化する方法の紹介でも。条件としては、IMAPサーバにssh出来ること。

$ ssh -f -N -L10143:localhost:143 -l username imap_server

usernameはimap_serverにsshする時に必要なユーザ名。

これで、localhostの10143番がリスンされ、このポートがIMAPサーバの143番にフォワーディングされた。なので、メールソフトのIMAPの設定を今までは、imap_serverの143番を指定していたと思うが、このコマンドを実行してからは、localhostの10143番を指定してやればいい。

念のため、上記がちゃんと実行されているかは、psコマンドやlsofコマンドで確認するといい。

$ ps aux | grep ssh

$ lsof -nPi:10143

あと、メールソフトによってはポートの指定を細かく指定出来ないものもある。そんな場合は、面倒臭いのでlocalhostも143番で待ち受けてしまうのも手(もちろんlocalhostで143番が使われていないこと)

$ sudo ssh -f -N -L143:localhost:143 -l username imap_server

1024番以下のポートでリスンするので、sudoが必要となることに注意。

これで、自分のマシンとIMAPサーバ間のIMAPの通信が暗号化されたので、途中でman in the middleを行なおうとする不届き者が居ても安心。


もう少し突っ込んだIMAPとの暗号化

上記ではあくまでも社内でのIMAP通信についての話。今度は社外からについて。

社外からIMAPサーバに接続する際、これまた暗号化されていないIMAPだと心配だ。更に酷いことに、もしかすると会社の方針で社外からはIMAPとの通信を許可していないかもしれない。要は社外からはメールの受信が出来ませんよ……みたいな環境。

さて、これで諦めてはいけない。条件が成立すれば、こんな状況だって社外からIMAPと通信が出来て、メールの受信が出来る。

必要条件としては、社外から社内に向けて踏み台サーバがあったりすること。要はssh出来るサーバがあること。何かしらのメンテナンスの為に、gateway_serverというサーバがあり、こいつがsshdを2222番ポートで開始しているとする。そして、このサーバには社外からもアクセス可能と……

更に、このgateway_serverからimap_serverへssh可能という条件であれば、今回のIMAPが成立する(もちろんIMAPサーバに外部から直接ssh出来るのならもっと話は早いのだが……今回は踏み台が間に入る環境を想定)

sshの経路しては、

社外の自宅マシン <-->  社内のgateway_server(sshdはポート2222番でリスン) <--> imap_server

こんな環境で、本来なら社外からIMAPが許されていないのに、IMAPでのメールの受信をするには、以下のように自宅マシンでsshを実行して、ポートフォワーディングしてやる。

$ ssh -f -N -L10143:imap_server:143 -p 2222 -l username gateway_server

usernameはgateway_serverへログインする際のユーザ名。これでlocalhost上で10143番がリスンされ、こいつがなんと社内の奥深くに眠るimap_serverの143番と結びついた。

あとは、メールソフトのIMAPの設定を、localhostの143番に変更してやれば、本来なら外部からのIMAPは許可されていないはずだが、メールの受信が出来る。


次はSOCKSだ

さて、次はWebページへのアクセスについて。社内でしか見られないWebコンテンツがあるとする。当然、外部である自宅からは見ることが出来ない。でも見たい……どうしても見たい。これも条件さえ成立すれば外部である自宅から閲覧が可能となる。

上記のIMAPの時と同じ環境で、gateway_server(ポート2222でsshdをリスン)があって、このgateway_serverにssh出来ることが条件となる。

今までは、静的なポートフォワーディングを使っていたが、今回は動的なポートフォワーディングであるSOCKSを利用する。こんな感じで、自宅マシンでsshを実行する。

$ ssh -f -N -D 1080 -p 2222 -l username gateway_server

これでlocalhostの1080番がリスンされた。

あとはブラウザのプロキシ設定をすればOK。例えばFirefoxの場合であれば、[設定] - [詳細] - [ネットワーク] - [接続設定]から、"手動でプロキシを設定する"にチェックを入れて、SOCKSホストに127.0.0.1、ポートに1080番を入力してOKしてやる。

例えば、社内からしかアクセスできないはずのWebコンテンツが、http://192.168.1.100/work/ だったとしたら、このURLをアドレスに打ち込んでやれば接続可能となる。プライベートIPアドレスを打ち込んで接続できることに違和感があるかもしれないけれど、接続できてしまうので安心して欲しい。


sshのconfigを書いておくと便利

さて最後に、決まったホストによくsshするとして、ポートの指定が必要だったり、ユーザの指定をしたり、そもそもホストの名前が長かったり……要は毎回そんなのを入力するのが面倒くさいって話。そんな人は、zshの履歴を有効活用するか、sshのconfigを書いておくと便利になる。

例えば、とあるマシンから、chibilog.nameの2222番でリスンされているsshにchibiponユーザとして接続する場合、通常ならこんな感じでsshを実行する必要がある。

$ ssh -p 2222 chibipon@chibilog.name

面倒臭がりな人にしてみれば、これは長すぎるわけですよ。もし、秘密鍵なんかも特別な物を使わないといけないとなると、その指定もしないといけないわけだから、更に長くなるわけだし……そんなわけで、$HOME/.ssh/config を以下のように書いておく。

$HOME/.ssh/config

Host cn
  HostName chibilog.name
  User chibipon
  RSAAuthentication yes
  IdentityFile ~/.ssh/id_rsa
  Port 2222
  Protocol 2
  TCPKeepAlive yes
  ForwardX11 no

上記を書いておけば、以下のように実行すれば接続できる。

$ ssh cn

これでかなり楽になるはずだ。


2010/06/06(日) GRUBのOS選択画面の背景画像を変更する

はてブ情報 はてブに登録 はてブ数 2010/06/06 16:11 Ubuntu

こんな感じで、GRUBのOS選択画面の背景画像を好きな画像に変更する方法でも。

Ubuntuの起動画面


ここでは、サイズが1024x768のPNG形式の好きな画像を、背景画像にするものとして進めていく。

先ずは、好きな画像が1024x768よりも大きいサイズかもしれないし、JPG形式などの違う形式かもしれないので、これを今回使う形式に変換してやる。例えば、miku.jpgという1920x1200でJPG形式の画像を上記の条件に変換するには以下の方法。

$ convert -resize 1024x768 miku.jpg Grub-miku.png

これで、Grub-miku.pngとして、1024x768なPNG形式の画像が出来上がる。一先ず、これは置いておく。

次に、/etc/default/grub の GRUB_GFXMODE を1024x768に書き換える。もしくは追加する。sudoを付けて好きなエディタで開いて、以下のように編集する。

GRUB_GFXMODE=1024x768

続いて、/etc/grub.d/05_debian_theme のWALLPAPERの指定を変更する。これまた、sudoを付けて好きなエディタで開いて編集する。

WALLPAPER="/usr/share/images/grub/Grub-miku.png"

画像の名前は、先ほど変換して作った物を指定してやる。さて、先ほど変換したGrub-miku.pngを上記で指定した場所に置いてやる。

$ sudo cp Grub-miku.png /usr/share/images/grub/

最後にGRUBの設定変更を反映させてやる。

$ sudo update-grub2

これで再起動してみて、GRUBのOS選択画面の背景が指定した好きな画像になっていればOK。


さて、一応補足でも。今回は1024x768を指定したが、もっと大きいサイズでもいいかもしれないし、もっち小さくないとダメかもしれない。BIOSでどの解像度まで対応しているのかは、以下のように確認できる。

hwinfoのインストール

$ sudo aptitude install hwinfo

確認

$ sudo hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.464]
  Unique ID: rdCR.bDy5cx8vnY0
  Hardware Class: framebuffer
  Model: "NVIDIA G71 Board - p455h8f "
  Vendor: "NVIDIA Corporation"
  Device: "G71 Board - p455h8f "
  SubVendor: "NVIDIA"
  SubDevice: 
  Revision: "Chip Rev"
  Memory Size: 256 MB
  Memory Range: 0xd0000000-0xdfffffff (rw)
  Mode 0x0300: 640x400 (+640), 8 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+800), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x030e: 320x200 (+640), 16 bits
  Mode 0x030f: 320x200 (+1280), 24 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x0330: 320x200 (+320), 8 bits
  Mode 0x0331: 320x400 (+320), 8 bits
  Mode 0x0332: 320x400 (+640), 16 bits
  Mode 0x0333: 320x400 (+1280), 24 bits
  Mode 0x0334: 320x240 (+320), 8 bits
  Mode 0x0335: 320x240 (+640), 16 bits
  Mode 0x0336: 320x240 (+1280), 24 bits
  Mode 0x033d: 640x400 (+1280), 16 bits
  Mode 0x033e: 640x400 (+2560), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

我が家の環境は、1024x768までしか対応していないらしい。


参考サイト: Ubuntu 10.04 (Lucid) でスプラッシュスクリーンをなんとかする


1: 『ディスプレイにも対応サイズあるよねw』 (2010/06/07 13:12)

2: chibi 『グラボが対応しているサイズよりも、解像度が少ないディスプレイならそうなるけどね。 今となっては、1024x768以下のディスプレ...』 (2010/06/08 21:21)

2010/06/02(水) 電子書籍で思うこと

はてブ情報 はてブに登録 はてブ数 2010/06/02 21:33 戯言

iPadが発売されたみたいですが、買う気も無くなってしまったし、お店で触ってもいないです。発売前はあんなに欲しかったのに、発売されたらどうでもよくなってしまった。やはり物を買う時は、勢いが大事だよね。

さて、iPadは置いといて、電子書籍について思うことをダラダラと書いていくことにしますよ。先ず、なんだかんだ言っても、電子書籍は便利だと思う。特に技術書の類。オライリーの本なんて重いから持ち歩く気になれないし、何より検索機能があれば本当に便利になると思う。今すぐにでも技術書の類は電子化して欲しい。

これは電子辞書が辞書の主流になっていることを考えると、自然な流れだと思う。今時、広辞苑を紙ベースで持ち歩く人を僕は知らない。辞書を持ち歩くとなると、あの小さな電子辞書を持ち歩くのが普通だよね。だから、技術書の類もこうなるんじゃないかなと。


あと、雑誌の類も早いところ電子化して貰いたい。週刊誌を買いに行く為だけに外に出るの面倒くさいので……それなら、発売日になったらダウンロードできると凄く嬉しい。それに週刊誌なんて読んだら捨ててしまうんだから、それなら電子化で不要になったら削除のほうがエコだと思う。

ただ、雑誌って電車の中とかで手軽に読めるってのも魅力だから、この辺が難しいんだよね。流石に電車の中でダウンロードした週刊誌をiPadで読みたいとは思わない。てか、電車の中でiPadなんて使ってる人を見たら確実に邪魔だなって思いそうだし……


まあ、こんなわけで電子化は本当に魅力的なんだよね。だって、本を何千冊って持つことを考えると、そこらの本棚じゃ収容出来ないと思うし、そもそも我が家はそんなに広くない。ビブリオマニアともなると、床が抜けたりしないように、そこら辺から強化しないとダメだし。でも、電子化されれば何千冊なんてiPad1台に収容できそう。このスペースの都合を考えても魅力的。


さて、何が電子化されると便利だな……なんて話はこの辺にして、電子化の弊害でも。とても魅力なんだけど、困るのがフォーマットかな。iPad経由で買ったものって、他の電子ブックの類じゃ読めないんだよね?

そりゃあ、Appleって会社がずっとあれば困らないけど……Appleに呆れてApple離れするのが恐い。そうすると、せっかく買ったもの達が読めなくなってしまう……1ページずつJPG形式なんかにして、zipに固めて売ってくれれば嬉しいんだけど、先ずそんな販売形式は無いだろうし……

電子化された書籍はどんどん買いたいと思うんだけど、買ったコンテンツが、iPadだけじゃなく、Amazonのキンドルだったり、これから出てくるであろう他のデバイスでも読めたりしないと、あまり買う気しないんだよね。


なんでこんなことを思ったかって言うと、今までシングルの曲なんかはiTunes Storeで買ってたんだけど、これがiTunesでしか聞けなくて、今のUbuntuだと聞けない。当たり前っちゃ当たり前なのかもしれないけど、一応買ったものなんだよね……

値段が安いんだからって思うかもしれないけど、確かに1曲あたり200円だから安いんだけど、シングルに入ってる4曲分とかを買うと800円なんだよね。CDっていう物が無いことを考えると、そこまで安いわけじゃないと思う。


そんなこんなで、せっかく買ったものなのに、そのコンテンツを楽しめるのが制限されたものになってしまうと後々困ることがあるわけですよ。特に本は好きなので、デバイスを変えたことで読めなくなるのは悲しすぎる。どのデバイスでも読めるように、フォーマットを統一してくれることを祈るばかり。


1: 『別にiPadじゃなくてもタッチパネル式のノートパットで十分だと思うw』 (2010/06/02 23:33)

2: chibi 『電子書籍が読めるんなら、なんだっていいんだけどねー。 最近、Appleへの依存は恐いなって思ってね……気にくわないものを排除し過...』 (2010/06/03 7:26)

2010/05/31(月) Ubuntu 10.04を使っての感想でも

はてブ情報 はてブに登録 はてブ数 2010/05/31 22:08 Ubuntu

さて、Ubuntu 10.04を使い初めてから結構な期間が経つので、便利だなって思う事やダメな事などの感想でも書いてみることにしよう。

インジケーターアプレット周りが凄く便利

インジケーターアプレットなんて言われても何のことか分からないかもしれないので、スクリーンショットを張っておくことにしよう。少なくとも僕は、インジゲーターなんたらなんて言われても何の事か分からない……

UbuntuのSS

このスクリーンショットの、名前の部分や時刻表示やメールマークの辺り。メールやカレンダー、タスク管理に『Evolution』を使ってると、このインジケーターに上手い具合に連携してくれる。

例えば、このスクリーンショットの時刻表示がされてる部分をクリックすれば、直近のタスクと予定を確認することが出来る。更に便利なのは、EvolutionはGoogleカレンダーと連携できる点(タスクは無理だけど)。更に、予定のアラームを設定しておけば、パネル部分に予定の通知マークを出すこともできる。予定のアラーム設定については、Googleカレンダー上で設定したものも、もちろん反映される。

あとは、メールマークからは、メール、チャット、ブロードキャストの状況を確認できる。ブロードキャストは、『Gwibber』で設定したものになるのかな。僕はなんだかんだで、Twitterはこの『Gwibber』を使うことにした。リプライなどがあれば、このインジケーターで確認できるので凄く便利。

とまあ、これだけのことを、こんな狭い領域でサッと確認できるわけです。それと、このスクリーンショットではユーザ名をクリックした状態なんですが、この文字を打てそうなボックスは何だろうって思っていたら、どうやらここからTwitterへの投稿ができるみたい(Gwibberと連動)。何が起こるのか怖かったので、今まで文字を打とうなんて思いもしなかった。これは今日発売のUbuntu Magazineで知ったことなんだけど、これが一番為になった事だったりする。


サスペンドからの復帰が安定してきた

9.04の頃なんかはサスペンドすると、そのまま復帰に失敗して、帰ってこなくなることが度々あったんだけど……10.04では安定して戻ってきてくれる。WindowsやMacユーザからしてみれば、「おいおい、スリープから帰ってこないって何だよ……」って思うかもだけど、これがUbuntuだ。まあ、たくさんのハードに対応しているし、PC自体もUbuntuの為に作られているわけじゃないから、この辺は仕方無い部分だと思うけど……

他にも、今まではサスペンドから復帰した後に何故かNICが認識してないとか……数え上げると切りがないんだけど、今のところサスペンドからの復帰はかなり安定していると思う。ネットワーク設定のリンク速度が狂う程度だろうか。おかげで、もうサスペンドも怖くなくなった。


Nautilus周りの強化

ファイラーです。『サーバへ接続』がやたらと強化されている気がする。

sshfsもここから出来た。sshfsをインストールしたから出来るようになったのか、最初から出来るのかは今となっては確認できないけど……今までは、ssh越しにマウントしたい時はコマンドを叩いてマウントしていたので、ファイラー上で出来ちゃうんなら楽でいいかなと。

他にも、MobileMeのiDiskもマウントできたので、かなり便利だと思う。今まで何事もコマンドでやっていたので、前からこれだけ使えていたのを知らなかっただけかもしれないけど……


Ubuntuソフトウェアセンター

『注目のアプリケーション』や、アプリケーションもカテゴリ分けされているので、見ているだけでも面白かったり。こうやって、ある程度のアプリが集約されているのは本当に便利だと思う。アプリを探したりインストールするのが快適。これについては、iPhoneのApp Storeで分からされたので。WindowsやMacも、こんな感じのソフトウェアセンターがあれば便利になりそうなんだけどな……


通知について

Macで言うところのGrowlみたいなものです。あんな感じで、色々と通知してくれるのが便利。


さて、次は不便だなって思うところを少し書いていこう。

RTFファイルが……

RTFファイルが好きなんですが、これを見る環境と書く環境がダメ過ぎる。そもそも、まともに閲覧出来るエディタが無い。更に書くとなれば、OpenOfficeのWordを使う羽目になってしまう。geditのプラグインで対応してくれれば凄く嬉しいんだけどな……RTFファイルの閲覧や編集で、わざわざオフィスソフトは使いたくないので。まあ、そんなファイル使うなよと言われしまえば、それまでなんだけど……


通知について

先程、良い点として挙げたけど、これのダメな点でも。どういうわけか、通知される時間などが無視される。デフォルトの状態だと10秒くらい表示されるんだけど、これだと少し長いから変更したいんだけど、どこをいじればいいのか分からない。

更に、notify-sendコマンドで表示時間を5秒などに指定して通知させてみても、デフォルトの10秒表示されてしまうので、そもそも設定が出来ないのかもしれない。Notify-OSD周りがちょっと分からない……


1: 『色々あるんだなーw サブPCあればやってみたいけどw』 (2010/05/31 23:17)

2: chibi 『遊びに使うのは本当に面白いと思うよ! 昔のに比べると、本当に便利になってるし、安定してきてるよー。』 (2010/06/01 7:26)

2010/05/30(日) 現在のConky

はてブ情報 はてブに登録 はてブ数 2010/05/30 18:41 戯言

デスクトップの隅に配置しているConkyだけど、今はこんな感じになった。


UbuntuのSS


グラボの温度なんかを表示するようにして、あとはPHOTOの項目が増えただけだけど……PHOTOの部分は、指定したディレクトリの中の画像を2分ごとにランダムで切り替える設定にしてある。

壁紙を指定時間ごとにランダムで切り替えるのもいいんだけど、実際のところ壁紙って見るタイミング無いんだよね……大体、何かしらのウインドウで隠れちゃってるわけだし。なので隅のほうだけど、壁紙として使うはずだった画像達をConkyで表示することにした。小さくはなってしまうけれど……

やはり、UbuntuというかLinuxは使ってて楽しい。自分好みにどんどん変えていける。Macは便利なんだけど、余計なことやると壊れる。