OpenSSHは、OpenSSLのライブラリを使用します。
よって、OpenSSHをインストールするためにはOpenSSLをインストールしておく必要があります。
ただし、OpenBSDに関してはOpenSSLがシステムに含まれています。
FreeBSDは4.1-RELEASEから含まれるようになりました。また、この時はCRYPTOをインストールする必要がありましたが、4.1.1-RELEASE からは本体に含まれるようになりました。
http://www.openssh.com/
http://www.openssl.org/
OpenSSHは、サーバとクライアントのモジュールに分かれています。
OpenSSHをインストールする前にOpenSSLをインストールする必要があります。
OpenSSLのインストールは、Apache-SSLの項を参照願います。
OpenSSHをインストールすると/etc/ssh/sshd_configファイルもインストールされます。
このファイルは次のようになっています。(コメント等を一部削除しています)
|
Port 22 HostKey /etc/ssh/ssh_host_key HostDsaKey /etc/ssh/ssh_host_dsa_key ServerKeyBits 768 LoginGraceTime 120 KeyRegenerationInterval 3600 PermitRootLogin no ConnectionsPerPeriod 5/10 IgnoreRhosts yes StrictModes yes PrintMotd yes KeepAlive yes SyslogFacility AUTH LogLevel INFO RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes PermitEmptyPasswords no CheckMail yes |
通常の運用であれば、これだけで使用可能になります。
sshdを起動しクライアントから接続し確認してみます。
OpenSSHをインストールすると/etc/ssh/ssh_configファイルもインストールされます。
このファイルは次のようになっています。
|
# Host * # ForwardAgent yes # ForwardX11 yes # RhostsAuthentication yes # RhostsRSAAuthentication yes # RSAAuthentication yes # PasswordAuthentication yes # FallBackToRsh no # UseRsh no # BatchMode no # CheckHostIP yes # StrictHostKeyChecking no # IdentityFile ~/.ssh/identity # Port 22 # Protocol 2,1 # Cipher blowfish # EscapeChar ~ |
sshクライアントは、このままでも使用可能になっています。
サーバ側で特に変更が無い限りはこのままで良いでしょう。
では、試しにsshでログインしてみましょう。sshコマンドに続いてログイン先のホスト名を入力します。
|
% ssh mail.ipa-sec.com yamada@mail.ipa-sec.com's password: Last login: Tue Mar 6 22:23:38 2001 from www.ipa-sec.com Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.2-RELEASE (GENERIC) #0: Mon Nov 20 13:02:55 GMT 2000 Welcome to FreeBSD! You have new mail. % |
ここまで確認できたところで、telnetは不要になります。
サーバ側のinetd.confからtelnetのエントリを削除し、inetdを再起動します。
| #でtelnetのエントリをコメントアウト |
|
# telnet stream tcp nowait root /usr/libexec/telnetd telnetd |
次に、inetdにkill -HUPシグナルを送ります。
なお、赤色で示したプロセス番号は毎回またはシステムによって異なるため、
必ず事前にpsコマンド等で確認してください。
|
# ps -auwx | grep inetd yamada 252 0.0 0.5 1048 620 p0 S+ 10:59PM 0:00.01 grep inetd root 111 0.0 0.6 1032 788 ?? Is 9:38PM 0:00.01 inetd -wW |
|
# kill -HUP 111 |
これでこのUNIXシステムに対してtelnetによる接続は行えなくなりました。
今後はsshコマンドまたは、Windows環境ではTTSSH
を使用して接続するようにしてください。
POP3などでは、全てが平文で通信を行うためにユーザ名やパスワード、
そして取込むメールの本文などが盗聴される可能性がありました。
パスワードに関してはAPOPを使用することで回避できます。
しかし、これにはAPOP対応のメールクライアントが必要になってきますし、
メール本文は平文のままです。
APOP以外にもSSHのポートフォワーディング機能を使用するという方法があります。
ここでは、このポートフオワーディング機能を紹介します。
たとえば、mail.ipa-sec.comのポート110(POP3のポート)をポート8110に転送し、8110との間で通信を行う場合を考えてみます。
これには、sshコマンドに-Lオプションを付けて使用します。
% ssh -L 接続ポート:相手ホスト:対象ポート 相手ホスト
それでは、mail.ipa-sec.comのポート110をポート8110に転送し通信を行う方法を見てみましょう。
% ssh -L 8110:mail.ipa-sec.com:110 mail.ipa-sec.com
このように、ポートフォーワーディング機能を使用することによって、
暗号化された通信経路を確保することができます。
Copyright(C) 2001 Information-technology Promotion Agency, Japan. All rights reserved.