PuTTY を使う(導入編)

参考:
☆ PuTTY: A Free Win32 Telnet/SSH Client http://www.chiark.greenend.org.uk/~sgtatham/putty/
↑PuTTY を始め Windows(R) で使用する telnet/ssh クライアントとその周辺ツールを配布しています

☆ hdk の自作ソフトの紹介 http://hp.vector.co.jp/authors/VA024651/
↑PuTTY で ISO 2022 による日本語入力・表示を可能にするパッチ 及び パッチの適用されたバイナリを配布されております

☆ OpenSSHの利用 http://m.u.packet-workz.co.jp/doc/sshd.html
↑ OpenSSH サーバの環境構築についてはいつもココを参照させて頂いております

続編もよろしく♪


まず注意なのですが ssh でリモート login 出来る人のみが、ココに掲載しているネタを有用に使うことが出来ます
前提としてはパスワード認証によって ssh (または ssh + telnet )が使用出来ることをご確認ください

Windows(R) 使用できるsshクライアントはいくつか有りますが、アタシはputtyを使用しております
特長ですか?そりゃ ssh のバージョン2をサポートしてる点、また puttygen 等の周辺ツールを使用すれば RSA/DSA 鍵を作成できる点など他にはない特徴を持っております
ISO 2022 (日本語)パッチを適用するととても使いやすく、かつ Free なので OpenSSH の sshd と共にとても重宝して使用しています

似たような機能を提供するクライアントに TTSSH が有りますが バージョン1 にしか対応しておりません(作者が バージョン2 に対応させる時間がないからそれについては聞かないでくれ、と書いている)・・・といってもターミナルソフトとして使いやすく、アタシ自身も putty に出会うまでは使用してました


まずはともかくココから入手しましょう
PuTTYTelnet と SSH クライアント本体
PSCPSCP クライアントすなわちコマンドラインの secure なコピーツール
PSFTPSFTP クライアントすなわち FTP に酷似した汎用ファイル転送セッション
PuTTYtelTelnet のみのクライアント
PlinkPuTTY 後方のコマンドラインインタフェイス
PageantPuTTY と PSCP そして Plink のための SSH 認証エージェント
PuTTYgenRSA 鍵生成ユーティリティ
(↑誤訳注意w)とにかく全部入手しましょう


まずは PuTTY で使用する ssh DSA 鍵の作成手順

001

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlから PuTTYgen を入手し起動したら、まず作成する鍵の種類を決めましょう
上の画面のようにメニューバーから種類の選択も出来ますし、ダイアログ下部のラジオボタンからも選択できます
それが終わったら、ダイアログ右側やや下の [ GENERATE ] ボタンを押します

002

ボタンを押すと上の画面のように切り替わりダイアログ上でマウスカーソルをぐりぐりと動かすことにより、青いバーが右方向へ増えて行き、2回右端までバーが増えると鍵が生成されます

003

鍵ができあがったら、Key passphrase: に続くダイアログボックスと Confirm passphrase: に続くダイアログボックスにあなたの独自なパスワードを2回(2個ではない)入力します

その後、ボタン操作( [ Save public key ] ボタンと [ Save private key ] ボタン)によって公開鍵 ( public key ) および秘密鍵 ( private key ) を保管します
ココではそれぞれ "putty-dsakey.pub" と "putty-dsakey.PPK" で保管したとします

ここでこれら2つの鍵について簡単にだけ説明(詳しい説明はご勘弁ください)すると

公開鍵は「接続する相手先すべてに登録する鍵」
秘密鍵は「自分の手元に一つだけ持っておく鍵」
(ただしクラッシュなどに備えた鍵のバックアップはこの限りではない)

で OpenSSH の RSA/DSA 鍵は公開鍵及び秘密鍵の2個セットで認証がなされます
(出来ればこういうコト↑はアタシなんかの駄文を参考にするよりは、もっと優れたペェジにてきちんと勉強して理解して頂きたいです。公開鍵と秘密鍵でググルって見ればたくさんあると思います)

以上でとりあえず認証鍵を作成することが出来ました
RSA/DSA 鍵を使った ssh 認証を実際に行うためには、作成した鍵のうち公開鍵を接続する相手先に登録する必要があります


<ぼそ>結構大作の様相が・・・(汁</ぼそ>

鍵を接続相手先の OpenSSH ホストに登録する方法はいくつか有りますが、ココでは次の2つの方法について説明します

その1:リモートシェルにてログイン→ vi を使用して公開鍵をコピー&ペーストにて登録する方法

その2:保存した"putty-dsakey.pub.pub" を pscp (またはftpでも可)にてリモートホストへ転送→
    リモートシェル上で ssh-keygen で変換→シェルコマンドで登録する方法

その1:

リモートシェルで login する
(以下のコマンドはファイルが有るなら不要です)

mkdir ~/.ssh
touch ~/.ssh/authorized_keys

authorized_keys の中に OpenSSH に対応した公開鍵のコードが入力されれば登録は完了なのですが、このコードは Public key for pasting into OpenSSH authorized_keys2 file: 以下のダイアログボックスをドラッグ選択→コピーすればよいです

004


PuTTYgen を一度終了していても使用する秘密鍵 "putty-dsakey.PPK" を開けばまた表示されます
このときに注意して欲しいのは "putty-dsakey.pub" をテキストエディタで開いてコピーしてもコードが合わないので使えないですから留意してください
あとは

vi ~/.ssh/authorized_keys

して、挿入モード→ペースト→保存して終了すれば完了です

その2:

まず "putty-dsakey.pub" をリモートホストへ転送しましょう
折角なので pscp を使用する方法を紹介しますが、 ftp (コマンド/クライアント)を使った転送でもかまいません
その辺はお好みでどうぞ
例として C:\PuTTY に pscp 及び "putty-dsakey.pub" が有る場合はコマンドプロンプトから

C:\>cd PuTTY
C:\PuTTY>pscp putty-dsakey.pub admin@raj-corp.com:./.ssh/

などと入力すれば host key を持ってくるか?と聞かれる(ただし一番最初だけ)ので yes と入れ、その後パスワード認証をすれば以下のようなメッセージと共に転送が完了します

putty-dsakey.pub          |          0 kB |   0.7 kB/s | ETA: 00:00:00 | 100%

C:\PuTTY>

以上の操作により ~/.ssh/ 以下に "putty-dsakey.pub" が転送されているはずです
そこでリモートログインし

cd ~/.ssh
ssh-keygen -i -f putty-dsakey.pub > putty_dsakey.pub
cat putty_dsakey.pub >> authorized_keys

とすれば登録は完了です
(ちなみに ssh-keygen で変換された公開鍵 "putty_dsakey.pub" は他のホストでも使用することが出来ますので取っておくと良いでしょう)

続編もよろしく♪



RAJ商会