tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

SSHD(暗号化TELNETサーバ)を使ってみる

Modified: 1 March 2003

リモートでTelnetを使うと、パスワードや対話の様子を容易に盗聴できるようです。そのことから、リモートでTelnetを禁止するというのが常識になっています。

とはいえ、使いたい場合もあります。そんなニーズにこたえて対話のデータを暗号化して、盗聴を困難にするソフトがあります。

運用のためには、サーバー側とクライアントの両方に対応したソフトをインストールする必要があります。

実験には、SSHというLinuxのクライアントソフトのほか、Windowsの定番のフリーのターミナルソフトである、TeraTermも使って見ました。TeraTermをSSHに対応させるにはTTSSHというソフトを混ぜて使えばいいようです。

Redhat Linux 7.3では、標準で同梱されています。

info.gif (1284 ツバツイツト) 参考になったページ
http://stingray.sfc.keio.ac.jp/security/ssh/


SSHDの小技

サーバーのインストールと設定

SSHD(SSHのサーバー)を設定してみる
RSA暗号を使ってログインする

Windowsのクライアントによる接続

TeraTerm+TTSHHをインストールする


 SSHD(SSHのサーバー)を設定してみる

SSHサーバーを設定する

Webminの「Servers」ボタンから、以下のような「SSH Server」を選択します。

Authentication の設定

大切なのは、「Allow RSA authentication?」を「Yes」にすることです。


Networking の設定

大切なのは、「Accept protocols」で、「SSH v1」にチェックし、「SSH v2」のチェックを外すことです。


Access Control の設定

ユーザは限定したほうがいいと思います。


設定を有効にする

「Apply Changes」ボタンを押し、設定を有効にします。


sshdの起動と自動再起動

Webminを起動し、"System"ボタンを押し、"Bootup and Shutdown"をクリックし、リストの中から、以下のように、"sshd"をクリックします。

"sshd"をクリックすると、起動、停止、再起動ができます。


 RSA暗号を使ってログインする

SSHによる暗号化のなかでもっとも安全なのは、RSAという公開鍵と秘密鍵を使ってログインする方法です。

 この暗号キーをWebmin上で作る方法はわかりませんでしたので、コマンドで作成しました。


暗号キーペアの作成

まずは、サーバー側で、暗号キーペア(公開鍵と秘密鍵)を作成します。

暗号キーペア(公開鍵と秘密鍵)の作成には、ログインさせるユーザのホームディレクトリに移動し、は、"ssh-keygen" のコマンドで作成します。

パスフレーズ(passphrase)は、長いパスワードのことです。10文字から30文字の間にすべきといわれています。

$ ssh-keygen -t rsa1
Generating public/private rsa1 key pair.
Enter file in which to save the key (/home/tomo/.ssh/identity): <Enter>
Created directory '/home/tomo/.ssh'.
Enter passphrase:*******************
Enter the same passphrase again:*******************
Your identification has been saved in /home/tomo/.ssh/identity.
Your public key has been saved in
/home/tomo/.ssh/identity.pub.
The key fingerprint is:
d1:a5:8e:68:c2:eb:53:d3:94:5e:5d:0f:07:ae:42:43 tomo@rh72server
$

ホームディレクトリを、"/home/tomo" とすると、作成された公開鍵は、

/home/tomo/.ssh/identity.pub

秘密鍵は、

/home/tomo/.ssh/identity

に作られます。

以下のように、ファイル名を変更します。

$ cd ~/.ssh

$ cp identity.pub authorized_keys
$ chmod go-rwx authorized_keys


クライアントのWindowsPCにキーをコピーする

作成した暗号キーペアの秘密鍵、"identity"を、FDなどで、WindowsPC内の、TeratermProをインストールしたフォルダにコピーします。

私の場合、TeratermProをデフォルトのフォルダにインストールしたので、

C:\Program Files\TTERMPRO

にコピーしました。


ttSSHでログインしてみる

以下のように、”ttssh.exe” に、ホストアドレスとポート(22)を指定して起動します。

C:\TOOLS\TTERMPRO\rhserver\ttssh.exe rh72server:22

起動すると、以下のダイアログが出てきます。

「Use RSA key to login」にチェックを入れ、「Private key file」ボタンを押して、コピーした秘密鍵である”identity”を指定し、「OK」ボタンを押します。


atten.gif (960 ツバツイツト) インストールの後の最初の起動の場合、以下のメッセージが出ますので、チェックを入れて、「Continue」ボタンを押します。

ttssh8.gif (6453 ツバツイツト)

「Use RSA key to login」にチェックを入れて、「Private key file」ボタンを押し、先にコピーした、秘密鍵のファイル(identity)を指定して、「OK」ボタンを押します

ttssh7.gif (5299 ツバツイツト)


ちょっと解説

SSHでログインする場合は、秘密鍵でパスワードを暗号化して、サーバーに送ります。サーバー(sshd)では、公開鍵で解読してパスワードの認証を行います。

これは、いわゆる署名に機能ですから、サーバーがログインしてくるユーザの確認ができます。つまり、サーバが許可したユーザしか持っていない秘密鍵で暗号かされていることが確認できるからです。

つまり、ログインする場合、他人に公開していない秘密鍵がないとログインできません。サーバーには、公開鍵があればログインできますので、サーバーの秘密鍵を削除しておけば、サーバが仮に覗かれても、秘密鍵が盗まれる心配はありません。


 TeraTerm+TTSHH(クライアントソフト)をインストールする

TeraTermをダウンロードしてインストールする

http://hp.vector.co.jp/authors/VA002416/teraterm.html

上記から、ttermp23.zip をダウンロードして、解凍し、setup.exe を実行してインストールします。


TTSSHをダウンロードし、インストールする

http://www.zip.com.au/~roca/ttssh.html

上記から、ttssh154.zip をダウンロードして、解凍します。

解凍後、TeratermProをインストールしたディレクトリ(私の場合、\Program Files\ttermpro)と同じディレクトリに、全部上書きコピーします。最低限、libeay32.dll、ttxssh.dll、ttssh.exeの3つをコピーします。


To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)