前回で「SSH」にアクセスできる環境に

なったことだし、早速アクセスしてみよ~!

ってノリノリになりたいところなんだけど、

タイトルを見てピンッときた人もいてるかな。


Linuxでアクセスする方法と、Windowsで

アクセスする方法を書こうと思ってるの。


で、今回はLinuxでアクセスする方法の予定

なんだけど、貧乏なRinaはLinuxを二台持つ

だけの余裕なんてサッパリないワケで、

ローカルでアクセスしてみることにしましたょ。


自宅には「Feodra8のSSHサーバ」、外部にも

「Fedora8」があると考えた場合に、どうやって

アクセスするかというと、【ssh】コマンドを使うの。

(【slogin】コマンドでも出来るみたいだけどね。)


【ssh ユーザアカウント名@ホスト名(IPアドレス)】

っていう構文になるよ。


【ssh Rina@192.168.3.3 】

(※ローカルでやってるから192.168.3.3って入力

 してるだけね。実際に外部からするときには、

 WAN側IPアドレスを入力してね。)



Rina-chanのLinux =Fedora8=


初めてアクセスすると、「Are you sure you want

to continue connecting (yes/no)?」って聞かれる

から【yes】と入力してね。そのあと、そのユーザの

ログインパスワードを入力してね。


二回目以降は「Are you sure~」って聞かれなくて、

いきなりパスワード入力を促されるよ。


この「Are you sure~」っていうのはね、yesを

入力することで、サーバの「公開鍵」がホーム

ディレクトリの「.ssh/known_hosts」ファイルに

保存されるっていう内容なの。


Rinaはローカルでやった所為なのか、うまく

いかなかったんだけど、本来はログイン後、

プロンプトが変わるらしいの。


[Rina@localhost ~]$ っていうのが

[Rina@centos ~]$ ってね。



-----


こうやって「リモートログイン」するのが

「リモートアクセス」なんだけど、「SSH」では

「リモートログイン」以外にも、ファイルを転送

する仕組みも用意されてるんだょ。


「FTPとどう違うの?」ってRinaは思ったんだけど

「SSH」だから暗号化してファイル転送できるから

「FTP」よりも安全なんだって。


【cp】コマンドと同じ要領で【scp】コマンドを使うよ。


【scp コピー元ファイル コピー先】っていう構文

になるんだよ。ただ、【cp】コマンドと大きく異なるのは、

コピー元やコピー先にサーバなどネットワーク越しに

あるマシンを指定できるってトコ。


例えばローカルにあるdocument.txtというファイルを

192.168.3.3のRinaアカウントのホームディレクトリに

コピーしたいときには・・・

【scp document.txt Rina@192.168.3.3:】 っていう

コマンドになるよ。最後のコロンに気をつけて。

このコマンドを入力したあとパスワードを聞かれる

みたい。そのアカウントのパスワードを入力してね。


逆に、リモートにあるファイルをローカルにコピーする

こともできるよ。

【scp Rina@192.168.3.3:document.txt ./】こんな感じね。


-----



#049 「Telnet」と「SSH」 』で「SSH」は認証時に送る

パスワードを暗号化されるから「Telnet」よりも安全

だょ、っていう話をしたかと思うんだけど、でも、もし

パスワードの書かれた書類を盗み見られちゃったり、

パスワードの入力中に指の動きを盗み取られたりする

いわゆる「ソーシャル・エンジニアリングの手法」で

パスワードを盗み取られる可能性がある以上、いくら

暗号化してても、パスワードによる認証自体があまり

安全性が高いとはいえないんだって。


奥が深いなぁ~。。。ガーン



そこで、「鍵交換方式」による認証っていうのが使われる

みたい。クライアント側に用意した「秘密鍵」とサーバに

あらかじめ保存した当該ユーザの公開鍵をセットにして

認証するんだって。


あぁ、ナンノコッチャ、わからんぽ。。。ショック!


ユーザがクライアントから「SSHサーバ」にアクセスすると、

サーバはまず乱数を作成して、これを「ユーザの公開鍵」で

暗号化し、ユーザに送るのね。ユーザ側では、「秘密鍵」と

秘密鍵の作成時に設定した「パスフレーズ」を利用して、

送られてきた乱数を復号するの。


これで、ユーザとサーバのいずれも同じ乱数を持って

いることになって、この乱数を「ハッシュ関数」に通して、

「ハッシュ値」を作成するのね。ユーザは、作成した

「ハッシュ値」をサーバに送って、サーバは「送られてきた

ハッシュ値」と「サーバ上で作成したハッシュ値」を比較して

同じであれば認証が成功するの。



Rina-chanのLinux =Fedora8=

多分、こういうコトね。



じゃぁ、実際にどうやって使うのかというと、クライアントが

Linuxだった場合、まず、認証に利用する「公開鍵」と「秘密

鍵」をクライアントが作成しなきゃいけないのね。


【ssh-keygen】と入力してね。

Rinaはクライアント側としてLinuxPCを用意できてないから、

キャプチャはお見せできないんだけど・・・このコマンドを

入力したら、Enter file in which to save the key~っていう

表示がされるよ。Enterキーを押してね。


Enterキーを押したら次に、Enter passphrase~と表示

されるよ。ここで「パスフレーズ」を入力するの。この

「パスフレーズ」は、アカウントへのログインパスワード

とは違うものにしてね。「パスフレーズ」が入力できたら

Enterキーを押してね。


Enter same passphrase againと表示されたら今入力した

「パスフレーズ」を再度入力してEnterキーを押してね。


Your identification has been saved in~と表示されたら

「秘密鍵」が作成されたよ。


Your public key has been saved in~と表示されたら

「公開鍵」が作成されたよ。「id_rsa.pub.」っていう名前

で作成されてるハズだよ。


鍵が作成できたら、「公開鍵id_rsa.pub」をサーバに

送るのね。送るには【scp】コマンドを使うといいよ。

【scp .ssh/id_rsa.pub ユーザ名@IPアドレス:】

最後のコロンに気をつけてね。


転送が完了したらサーバに「リモートログイン」して転送

した「id_rsa.pub」を当該ユーザのホームディレクトリ配下

の「.ssh/authorized_keys」ファイルに追記するよ。

【cat id_rsa.pub >> .ssh/authorized_keys】コマンドね。


authorized_keysファイルを初めて作成する場合には、

アクセス権を変更しておかなきゃいけないみたい。

【chmod 600 .ssh/authorized_keys】


これで準備完了グッド!


じゃぁ、【ssh】コマンドでサーバにアクセスしてみようね。

すると、「パスフレーズ」を尋ねられるハズだから、鍵の

作成時に指定した「パスフレーズ」を入力してね。認証

が成功すれば、ログインが可能だよ。



-----

Fedora8を二台用意できて 且つ そのうち一台

がノートパソコンだという方はネカフェに持って

行ったりして試してみてくださいね。



ちゃんと試すことが出来てなくて、なんだか

パッとしない記事になっちゃったね。ボリュームで

誤魔化そうとしてたんだけど、文字ばっかりで

読みづらいかも。


明日はWindowsがクライアントの場合で説明するね。

さぁ~てと、ネカフェ行ってきま~すニコニコ


今日はここまでね。


Bye,Bye音譜



ペタしてね