前回で「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アドレスを入力してね。)
初めてアクセスすると、「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サーバ」にアクセスすると、
サーバはまず乱数を作成して、これを「ユーザの公開鍵」で
暗号化し、ユーザに送るのね。ユーザ側では、「秘密鍵」と
秘密鍵の作成時に設定した「パスフレーズ」を利用して、
送られてきた乱数を復号するの。
これで、ユーザとサーバのいずれも同じ乱数を持って
いることになって、この乱数を「ハッシュ関数」に通して、
「ハッシュ値」を作成するのね。ユーザは、作成した
「ハッシュ値」をサーバに送って、サーバは「送られてきた
ハッシュ値」と「サーバ上で作成したハッシュ値」を比較して
同じであれば認証が成功するの。
多分、こういうコトね。
じゃぁ、実際にどうやって使うのかというと、クライアントが
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![]()

