Linuxホームサーバー編
No.10 とめるときにはどうするの?
(sshを使ってみよう)

2005,2/13 完成


最初、WOLが使えるようになれば遠隔シャットダウンもできるようになると思っていました。
しかし、、、よく考えるとWOLはあくまで遠隔起動するためのもので遠隔シャットダウンするには
別の方法を考えなければなりません。
Windowsベースの遠隔シャットダウンソフトはVecterを探せば山のように出てくるのですが
Linux用となるとなかなか見つかりません。(探し方が悪いんでしょうか??)

もう一つの方法として、Windowsマシンからtelnetを使ってVineマシンにつないで
コマンドを使ってシャットダウンする、という方法があるそうです。
とりあえずはこの方法でシャットダウンできればいいや、と思ったのですがtelnetというやつは
キーボードで入力した単語をそのまんま暗号化せずにLAN上を流すとのこと。
と、いうことは・・・rootのパスワードもそのまんまLAN上を流れるという事で
いくら家庭内LAN上と言えども怖いものがあります。

他にいい方法はなかんべか?
と探していたらtelnetと同じくVineマシンに遠隔Loginできてなおかつ通信をすべて暗号化
してくれるという優れもののssh(Secure Shell)というやつがあることがわかりました。
暗号化するところが少々面倒くさそうですが、安全性優先、ということでsshに挑戦する事に
してみました。

※ このページを作るに当たり
  ・"インターネットへの入り口"さんのページ
  ・OpenSSHのホームページ
  ・OpenSSH 日本語マニュアルページ
  ・OpenSSH情報
  ・WindowsからsshでLinuxにログインするには
  ・Tera Term Home Page
  ・Tera Term Pro 日本語版
  ・TTSSH日本語版
  を参考にさせていただきました。感謝・感謝! m(_ _)m


1)SSHの設定と暗号化キーを作ろう


まずはVine君にsshがインストールされているのか
調べてみました。

 アプリケーション→システムツール→システムモニタ

とやってみるとsshdというやつが動いているのが
見えます。どうやらデフォルトでsshがインストールされて
いるようです。 (^_^)

※ ちなみにtelnetの方は動いていませんでした。
  telnetよりsshの方が推奨されているという事でしょうか。

次に、

 アプリケーション→アクセサリ→GNOMEテキストエディタ

を開いて、

 /etc/ssh/sshd_config

を編集します。
sshd_configに修正・追加するのは赤で囲った4行です。

 ・"PermitRootLogin yes"でrootでLoginすることを禁じ、
  (安全性向上!)
 ・"PasswordAuthentication no"で暗号キーなしでのlogin
  を禁止。
 ・"PermitEmptyPasswords no"パスワードがないと
  Loginできないようにする。
 ・"Allowusers juntake" juntakeしかリモートLoginできない
  ようにしてしまいました。
再び、

 アプリケーション→システムツール→GNOME端末

を開いて"sshd restart"と入力してsshdを再起動します。
次に暗号キーを作ります。まず、

  アプリケーション→システムツール→GNOME端末

を開き、
 ・"ssh-keygen -t dsa"と入力。
 ・"identitity"と入力した後、任意のパスワードを2回入力
  します。(2回目は確認の意)
 ・"ssh-keygen -t rsa"と入力。
 ・同じく"identitity"と入力した後、"y"と入力して任意の
  パスワードを2回入力します。
  (最初と同じパスワードにしました。)

※ 相変わらず呪文のようですなぁ。 (^_^;)

juntakeでLoginしなおして"/home/juntake/"をのぞくと
".ssh"というフォルダーができていて、その中に"identity"
というファイルができています。
これが大事な大事な暗号キーです。

この"identity"ファイルをUSBメモリもしくはsamba経由で
クライアントマシンであるWindowsパソコンに保存しておきます。

※ ちなみに".ssh"フォルダーが隠しフォルダーなので
  何も設定しないと見えません。
  隠しフォルダーを見えるようにする方法はこちら


これで準備は万端です。 (^_^)


2)Wake up On Lan Toolで遠隔起動の設定をしよう
遠隔シャットダウンの前に遠隔起動の設定をやってしまいましょう。
今回使うのはWake up On Lan Toolというフリーソフトです。
このソフト、遠隔起動以外にもpingによるパソコンが動いているかどうかの確認、
telnetによる遠隔シャットダウン等にも対応しています。
(sshに対応していないのが残念なところです。 (^_^;) )

・ソフトをダウンロードしたら好きなフォルダーに保存して、
 wol.exeを起動します。

・編集→設定 を開きます。

・リモートホスト名(何でもOK)、VineマシンのIPアドレス、
 VineマシンのMACアドレスを入力します。

・"OK"を押して設定完了。
・Vineのところを触って右クリックします。

・Pingチェックを選ぶ→Vineパソコンが動いていたら
 Vineと書いてある横の"?"が"○"になります。
 起動していなければ"×"になります。

・起動を選ぶとマジックパケットを送出してVineパソコン
 が起動します。

※ リモートシャットダウンのところにtelnetによる
  シャットダウンというのがあるのですが今回は
  使いません。(残念!)





3)さぁ、Windowsから遠隔シャットダウンだ!
WindowsからVineマシンが起動できるようになったら次はいよいよ遠隔シャットダウンに挑戦です。
使うソフトは、Tera Term ProTera Term Pro 日本語版TTSSHの3つのフリーソフトです。
設定の前にやっておくことは、

 1)Tera Term ProはSetupを起動して好きな場所にインストールしておきます。
 2)Tera Term Pro 日本語版をダウンロード→解凍してTera Term Proをインストールした
   フォルダーに上書きしちゃいます。
 3)TTSSHをダウンロード→インストールしてTera Term Proをインストールした
   フォルダーに上書きしちゃいます。
 4)ここで保存しておいたidentityファイルTera Term Proをインストールした
   フォルダーに上書きしちゃいます。

Tera Term Proのフォルダーは上書きされまくりですなぁ。 (^_^;)
さて、ここから細かい設定に入ります。

まず、WindowsにTera Term Proの環境変数というやつを
設定します。Windows2000の場合ですと、
 スタート→設定→コントロールパネル→システム→詳細
 →環境変数→(システム環境変数方の)新規
を開く。

変数の欄に"TERATERM_EXTENSIONS"
値の欄に"1"を入力して"OK"を押す。
パソコンを再起動する。
(”SET TERATERM_EXTENSIONS”ではないので注意!)
(私はこれではまりました。 (T_T) )

※ Windows95/98/meの場合、c:autoexec.batファイルを
  適当なエディター(ノートパッドなど)で開いて、
   SET TERATERM_EXTENSIONS=1
  という行を加えて再起動します。
スタート→プログラム→Tera Term Pro→Tera Term Pro

でTera Term Proを起動。

左のような画面が出てくるのでキャンセルを押します。
メニューから、

 設定→SSH→読み書き

を選択します。
ここでTera Term Proをインストールしたフォルダーの中に
あるttermpro.exeを選択してOKを押す。
(通常はc:\Program Files\TTERMPRO\ttermpro.exe)
再びメニューから、
 設定→SSH認証
を開き、
 ・ユーザー名にここで指定したユーザー名を入れる。
 ・”RSA鍵を使う”を選択。
 ・個人鍵をクリックして、Tera Term Proをインストールした
  フォルダー(c:\Program Files\TTERMPRO)のフォルダー
  に入れたidentityファイルを選択してOKを押す。
メニューから、
 設定→TCP/IPを選択

 ・ホスト一覧のところにVineパソコンのIPアドレスを入れる。
 ・Telnetのチェックを外す。
 ・”追加”ボタンを押す。
 ・”OK”ボタンを押す。

ここまで来たら、
 メニュー→設定→設定の保存
で”TERATERM.INI”を上書き保存して
Tera Term Proを一度閉じる。
再びTera Term Proを起動する。
さっき設定したVineパソコンのIPアドレスが表示されるので
SSHを選んでから”OK”を押す。
パスフレーズの欄にVineにLoginするためのパスワード
を入力して”OK”を押す。
うぉーーい!
無事Loginできました。感動! (T_T)
juntakeのアカウントではVineパソコンをシャットダウン
できないためSUコマンドを使いrootでLoginし直してから
シャットダウンします。

 ・”SU”と入力します。
 ・rootでLoginするときのパスワードを入力します。
 ・"halt -p”と入力します。

がががががーー
(隣のVineパソコンがシャットダウンしている音)
やったーー!
無事遠隔シャットダウンができるように
なりました! (^_^)


この後、ノートパソコンにWake up On Lan ToolTera Term ProTTSSHをインストールして
一階から屋根裏部屋のVineパソコンの起動→シャトダウンを何回か繰り返しましたが
問題なく動作しているようです。
Vineが動作している間、sambaもちゃんと動作しているしかなり実用性が出てきました。 (^_^)

ただ、Vineパソコンを遠隔シャットダウンするとき、
”halt”や”Shutdown -h now”などのコマンドでは”System haited.”という文字がモニターに出て
そのまま固まってしまうんですよね。なんででしょう?
(直接シャットダウンだとちゃんと電源が落ちる。)
唯一まともにシャットダウンできるのはhalt -pだけでした。この点謎です。
いずれにしろhaltとShutdownコマンドの両方を試してみることをすすめてくれたNEZUMIさんには
感謝です。(2005,2/7書き込み)

というわけで無事、遠隔シャットダウンができるようになったわけですがまだ問題が残っています。
そう、sshでLoginしてそれからrootで再Loginして、haltコマンドを入れて、なんてことは
私はそれほど苦にせずやれるのですが、我が家のPCユーザーであるかみさんや娘達がそんな
面倒な事をしてくれるとは思えません。 (^_^;)

意識せずにsambaが使えるよう、いかに自動化するか、というのが次の課題になりそうです。


←戻る 進む→
ホームに戻る