sshで安全なリモートログイン


最終更新日 2000.4.21 16:30

概要はリンクから

 私があーだこーだ説明するよりもこちらを見ていただいたほうが。。。。。。(単にめんどくさいだけ)

必要なソフトウェア

サーバ側の準備

鍵ペアの生成

公開鍵をXP1へ

  認証してもらうには、公開鍵をサーバへ送ります。

ログイン

  実際にログインしてみましょう。

FTPで使う


概要はリンクから(いきなり)

主に、以下のページを参考にさせてもらいました。(多謝)勝手にリンクしちゃってるんですがいいのかな?

慶大 SFC Stingray のセキュリティページ
  http://stingray.sfc.keio.ac.jp/security/ssh/ttssh.html

openssh + TTSSH インストールメモ
  http://www.remus.dti.ne.jp/~sim/linux/misc/ttssh.html

△トップ

必要なソフトウェア

Windowsクライアント前提で、必要なソフトウェアは以下の 3つです。これしかない訳ぢゃないのですが、端末エミュレータの機能面や、日本語対応の問題とかで、これらの組み合わせが現状ベストらしいです。


TeraTermPro フリーの端末エミュレータです。 
上記リンクから辿るか、ベクターデザインのウェブサイトからでもDLできます。 
インストールはzipを解凍し、setup一発です。
TTSSH TeraTermのssh対応プラグインです。 
DLは上記リンクから辿って下さい。 
TeraTermProをインストールしたのと同じディレクトリにzipを展開します。するとttssh.exeができますので、ショートカットを作るなどして下さい。
ssh-1.2.14-win32bin.zip Windows用の鍵生成ツールです。 
バージョンが2.xのものは使えません。1.2.xを使って下さい。
1.2.22が最新のようですが、cygnusのDLLが必要だとかなんとかいろいろうざったい事を言ってくるので、1.2.14を使いましょう。
1.2.14のアーカイブ中には色々入ってますが、使用するのはssh-keygen.exeとgmp.dllだけです。
DLはこちらから行いました。 
 ftp://ftp.win.or.jp/pub/shell/ssh/contrib/
△トップ

サーバ側の準備

サーバ側の準備 ~/.sshというディレクトリを作っておきます。このディレクトリに、ローカルで作った公開鍵をアップロードします。ディレクトリのパーミッションをオーナにのみ開放しておきます。
△トップ

鍵ペアの作成

鍵ペアの生成 まず、認証と暗号化に使う秘密鍵<->公開鍵のペアが必要です。
先程DLしたssh-1.2.xx-win32bin.zipを解凍し、ssh-keygen.exeとgmp.dllを任意のディレクトリにcopyします。
そして、DOS窓からssh-keygenを起動します。
ssh-ke~1 -C 任意のコメント<CR>※1

Initializing random number generator...
Generating p:  .......................++ (distance 338)※2
Generating q:  ....++ (distance 48)※2
Computing the keys...
Testing the keys...
Key generation complete.
Enter file in which to save the key ($HOME/.ssh/identity):

ssh-keygenは、鍵を作り、それをどこにセーブするか聞いてきますので、フルパス+”identity”で指定します。※3
例:c:\usr\yoshi\.ssh\identity
次にパスフレーズを2度入力します。
文字数の制限は特に無いようなので(ほんとか?)、適当に長く、推測の難しい文字列を設定して下さい。
identity.pubが出来ましたね?

※1
コメントは、鍵のオーナーを示すための文字列で、鍵ファイルに埋め込まれます(鍵ファイルはプレーンなテキストファイルです)。一般的には、自分のメールアドレスを入れるようです。
PCを自分専用として使用しているのなら、不要と思いますが。

※2
ここらへんの数字はランダムです。その都度異なります。

※3
なぜだかここがバギーで、<CR>一押しで空のパスフレーズが入っちゃいます。2度目のパスフレーズを適当に入れて(1度目と違うフレーズを入れて)キャンセルし、再入力して下さい。

△トップ

公開鍵をXPへ

identity.pubをftpで~/.sshへアップロードします。アップロード後、authorized-keysというファイルに、公開鍵の内容を取り込みます。私は単純にコピーしただけです。
△トップ

ログイン

ここからは、http://www.remus.dti.ne.jp/~sim/linux/misc/ttssh.htmlに詳しい説明がありますので、参照して下さい。
特に私が公開出来るようなノウハウはありません。
△トップ

FTPで使う

これも出来ないと嬉しくないんですよね。。。いちおうできたんですが、けっこう面倒くさいです。
イメージとしては、TTSSHでsshでのログインをしてつながっているところに、ftpが割り込んで(安全なトンネルを)通すようにするという感じかな?

TTSSHのPort Forward機能を使います。

まず、TTSSHでログイン後、Setup−SSH Forwarding...を選択します。




ftpはデータを流すポートと制御用のポートが別なんで、ftpとftp_dataの2ポートをフォワードするように追加します。



TTSSHで接続されている状態で,ftpクライアントを起動します。ここでは、ftpエクスプローラを使います。
起動すると,connectのダイアログが表示されるので,SSHのプロファイルを作ってください。こんな感じにしました。

つなげる先はTTSSHのトンネルなので,ホストアドレスは"localhost"です。また、パスワードはsshのパスフレーズではありません。自分のプレーンなパスワードです。(ややこしい)
Use PASV Modeに、忘れずにチェックを入れてください。

やっとftpコネクトできました!

2つのアプリの連携をユーザがとらないとアカンので、面倒臭いこと極まりないですね。 
しかしこのftpエクスプローラって,ダウンロードはいいんだがアップロードが不便...というかローカルのディレクトリをどうやって表示するのか分からない。。。。