SSHサーバをつくってみました。(自分しか使えないけど)ついでに,ApacheサーバでWebページを作ってみました。(http://tkoyama010.dip.jp/)
なんでこんなことをしたかというと,いつでもどこでも使える計算機環境を作りたかったからです。家で数値計算するために使っているパソコンはLinux機(初心者にやさしいUbuntu 11.10です。aptコマンド万歳!!)にしてSSHで使っていたのですが,家の中でしか使えないのが難点。外出中いつでも使いたいと思っていました。ただ,インターネットに公開してしまうと攻撃を受けてしまいそうで,敷居は高かったです。
しかし,素人なりに調べてみたところ以下の方法で攻撃を防げることが分かりました。
① ポートを22から外す。外部から受ける攻撃はほとんどこのポートである。
② 秘密鍵・公開鍵を使った認証にする。
これらの対策をしておけば,マシンを乗っ取られることはまず内容なので、設定してみました。しかし,これが結構かかりました。まず秘密鍵・公開鍵の作り方が分からなかった。要は以下のコマンドで両方作れました。
ssh-keygen -t rsa
作った公開鍵をホームディレクトリの.ssh直下のauthorized_keysに書き込みます(ここをちゃんと理解していなかったので,後で泣きを見ました。)。WinSCPで,秘密鍵をノートパソコンに写します。その後,TeraTermで秘密鍵を選択し,ログインできました!!!(ちなみに,/etc以下のファイル編集については説明ぶっ飛ばしました。そこでははまらなかったので。)よっしゃー,これで鉄壁。公開使用と,家ネットでDNSアカウントをもらってめでたく公開いたしまた。さあ,WinSCPでファイル転送しよーと思ったとき。ふと気づいてしまいました。WinSCPの秘密鍵・公開鍵は!?とりあえず,TeraTermの秘密鍵を使おうとしましたが,WinSCPでは使えないようです。それじゃーWinSCPでファイル転送なんて無理じゃん。端末だけであきらめようとしたのですが,あきらめきれずいろいろしらべたところ(ここのところが時間かかっています)。最終的にWinSCPでもう一つ独立に鍵を作ればよかっただけでした。
なんで,こんなところではまっていたかといいますと(言い訳)。私がsshでは鍵が一つしか設定できないと考えていたからです。要はauthorized_keysの次の行に新たな公開鍵を付け加えればいいだけでした。固定観念は怖いですね。(なんとかまとまった 汗)
ちなみに,SSHサーバだとCUIしか使えないですが,私はCUI派なんで大丈夫です。(周りからはGUI信者と思われているけど…)



