カスタム検索
このエントリーをはてなブックマークに追加
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

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

(RedHat Linux)

Modified: 12 Aug 2000

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

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

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

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

info.gif (1284 ツバツイツト) TurboLinuxでは、"ssh-2.0.11.tar.gz" が使えましたが、RedHat Linux6.2 では、"ssh-1.2.27.tar.gz" が使えます。

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


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

SSHのダウンロードからインストール
SSHD(SSHのサーバー)を設定してみる

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

TeraTerm+TTSHHをインストールする
RSA暗号を使ってログインする


 SSHのダウンロードからインストール

SSHとSSHDをダウンロードする

以下からダウンロードします。

ftp://ftp.ssh.com/pub/ssh/

日本には、以下のサイトからダウンロードできます。
http://wine.cc.chuo-u.ac.jp/home/pub/security/ssh/

SSHの公式ページ
http://www.ssh.org/

私は、ssh-1.2.27.tar.gz をダウンロードしました。

SSHDというサーバーソフトとSSHというクライアントソフトが同梱されています。


makeしてインストールする

一般的な手順でおこないます。

$ ./configure
$ make
$ su
Password: xxxxx
# make install

 :
#

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

許可する条件を変更します

最低限、許可するホストを追加しておかないといけません。

# vi /etc/sshd_config

AllowHosts を追加しました。サーバー側のIPアドレスは、192.168.0.4 で、クライアント側は、192.168.0.2 です。

つまり、サーバー側に、許可するクライアントのIPアドレス(192.168.0.2)を指定します。

# This is ssh server systemwide configuration file.

Port 22
ListenAddress 0.0.0.0
HostKey /etc/ssh_host_key
RandomSeed /etc/ssh_random_seed
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no
IgnoreRhosts no
StrictModes yes
QuietMode no
X11Forwarding yes
X11DisplayOffset 10
FascistLogging no
PrintMotd yes
KeepAlive yes
SyslogFacility DAEMON
RhostsAuthentication no
RhostsRSAAuthentication yes
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
UseLogin no
# CheckMail no
# PidFile /u/zappa/.ssh/pid
# AllowHosts *.our.com friend.other.com
# DenyHosts lowsecurity.theirs.com *.evil.org evil.org
# Umask 022
# SilentDeny yes
AllowHosts 192.168.0.2


sshdを起動する

SSHのサーバを起動します。

# /usr/local/sbin/sshd


info.gif (1284 ツバツイツト) 起動時に自動起動させるには、以下を "/etc/rc.d/rc.local" に、どこでもいいので、追加します。

if [ -f /usr/local/sbin/sshd -a -f /etc/sshd_config ]; then
        /usr/local/sbin/sshd
fi

 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

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

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


基本動作の確認

通常のTeraTermは、ttermpro.exe で起動しますが、SSHを使う場合は、コピーした ttssh.exe を実行します。

起動すると以下のように、SSH が追加され、選択できるようになっているのが見えます。

ttssh.gif (5532 ツバツイツト)

まずは、基本動作を確認するために、SSHを指定せず、上記ダイアログのように「Telnet」を指定して「OK」を押してみます。

ttssh2.gif (5579 ツバツイツト)


atten.gif (960 ツバツイツト) インストールの後の最初の起動の場合、以下のメッセージが出ます。

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

チェックボックスにチェックを入れて、「Continue」ボタンを押せばOKです。


info.gif (1284 ツバツイツト) 以上の方法による接続では、暗号化されていないので、sshの本当の機能を使ったことにはなっていません。


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

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


暗号キーペアの作成

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

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

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

$ ssh-keygen
Initializing random number generator...
Generating p: .................................................................
.......++ (distance 1330)
Generating q: .........................................++ (distance 678)
Computing the keys...
Testing the keys...
Key generation complete.
Enter file in which to save the key (/home/tomo/.ssh/identity): <Enter>
Enter passphrase:*******************
Enter the same passphrase again:*******************
Your identification has been saved in /home/tomo/.ssh/identity.
Your public key is:
1024 33 108189843618192501047142709042908702570484871608336807057455606099696471
42546783438862875274066991625434661279880667955279022469874104127509580036322111
12460302910782977831751932026401552382477520215402621599675760431706337258474641
43288607639557576602107141257504253479405546896197217977009938390130572082129 to
mo@linuxserver
Your public key has been saved in /home/tomo/.ssh/identity.pub
$

ホームディレクトリを、"/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.pub"、"identity"を、FDなどで、WindowsPC内の、TeratermProをインストールしたフォルダにコピーします。

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

C:\Program Files\TTERMPRO

にコピーしました。


ttSSHでログインしてみる

ttsh.exe に、ホストアドレスを指定して起動すると、以下のダイアログが出てきます。

ttssh5.gif (9401 ツバツイツト)

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

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


ちょっと解説

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

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

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


RSA暗号キーによるログイン以外はできないようにする

せっかくRSA暗号キーによるログインができても、それ以外でログインできては意味がありませんので、RSA暗号キーによるログイン以外はできないように設定します。

"/etc/sshd_config"

# This is ssh server systemwide configuration file.

Port 22
ListenAddress 0.0.0.0
HostKey /etc/ssh_host_key
RandomSeed /etc/ssh_random_seed
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no
IgnoreRhosts no
StrictModes yes
QuietMode no
X11Forwarding yes
X11DisplayOffset 10
FascistLogging no
PrintMotd no
KeepAlive yes
SyslogFacility DAEMON
RhostsAuthentication no
RhostsRSAAuthentication yes
RSAAuthentication yes

PasswordAuthentication no
PermitEmptyPasswords no

UseLogin no
CheckMail no
# PidFile /u/zappa/.ssh/pid
# AllowHosts *.our.com friend.other.com
# DenyHosts lowsecurity.theirs.com *.evil.org evil.org
# Umask 022
# SilentDeny yes

atten.gif (960 ツバツイツト) 赤いところが重要です。青いところも参考に。

info.gif (1284 ツバツイツト) 設定後、「Use plain password to log in」にチェックしてログオンしようとすると、以下のようにパスワードを聞いてくるだけで、ログインできません。

ttssh9.gif (9344 ツバツイツト)


To previous pageTo home pageMailing to meJump to Top of pagetomo.gif (1144 ツバツイツト)
カスタム検索



このエントリーをはてなブックマークに追加