Solaris
OpenSSL & OpenSSH

●●● ●●● ●●● ●●● ●●● ●●● ●●● ●●● ●●● ●●● ●●● ●●● ●●●



OpenSSL & Open SSHのインストール
サーバーの設定をするとき、当然なんらかの方法においてサーバーにログインするわけだが、それはネットワーク上からの機会が中心。・・・ネットワークからtelnetで入ろうもんなら、平文でながれてしまうので、やってる操作やSuperUserのパスワードだって丸見え。
 そんなわけで、その通信中を暗号化します。

必要なもの。

◆ Zlib
◆ OpenSSL
◆ OpenSSH
この3つが必要となる

Zlibのインストール
2002/03/25の時点で最新のものを。
◆ zlib-1.1.4 (1.1.3はセキュリティの問題があったとか・・)

$wget http://www.libpng.org/pub/png/src/zlib-1.1.4.tar.gz


$ tar zxvf zlib-1.1.4.tar.gz
$ cd zlib-1.1.4
$ ./configure
$ make
$ make test (テストを抜かしたらはいらない)
$ su
# make install

これは、僕が試した結果なんですけど・・・ make testもそうですが、Sunが提供している、パッケージのzlibだと、あとのSSLかSSHのコンパイルで引っかかりました。ソースからやったらOK。・・・・なぜだ。

OpenSSLのインストール
2002/03/25の時点で最新のものを。
◆ OpenSSL

$wget ftp://ftp.infoscience.co.jp/pub/Crypto/SSL/openssl/source/openssl-engine-0.9.6c.tar.gz


$ tar zxvf openssl-engine-0.9.6c.tar.gz
$ cd openssl-engine-0.9.6c
$ ./Configure

sage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsar ef] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR ] os/compiler[:flags]
pick os/compiler from:
BC-16 BC-32 BS2000-OSD CygWin32 FreeBSD FreeBSD-alpha......(略)solaris-sparc-sc3 solaris-sparcv7-cc solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc solaris-sparcv9-gcc27 solaris-x86-cc solaris-x86-gcc

$ ./Configure solaris-x86-gcc
$ make
$ make test
$ su
# make install

上から意味の説明

解凍
opennsslのディレクトリへ移って、
./Configureを実行すると、このように表示がでる。solaris8 のintel版でgccをつかってるので・・・
solaris-x86-gcc を選んで./configureを実行。(仕事上、solaris7 sparc版で、solaris-sparcv7-gccも扱う。結果はOK)
makeして
テストして suになってインストール。

OpenSSHのインストール
2002/03/25の時点で最新のものを。
◆ OpenSSH

$wget ftp://ftp.jp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-3.1p1.tar.gz


$ tar zxvf openssh-3.1p1.tar.gz
$ cd openssh-3.1p1
$ ./configure --with-tcp-wrappers --with-md5-passwords
$ make
$ su
# make install

2002-06-29追記
最新版openssh-3.4pでは 'sshd'というユーザーアカウントが必要になっている。作っていないとmake install時の最後に以下のようなエラーが出る。

echo "WARNING: Privilege separation user \"sshd\" does not exist" id: invalid user name: "sshd"
WARNING: Privilege separation user "sshd" does not exit


※注
こんなエラーがでたら・・・・
checking for libwrap... configure: error: *** libwrap missing
tcp_wrapper内の、
tcpd.h ---> /usr/local/include
libwrap.a ---> /usr/local/lib
にコピーしておく。

インストールが終わったら、sshd_configの設定をしておく。標準だと、最初からrootでのログインができるというデンジャラスなものになっている。
sshd_configの設定へGO!

◆OpenSSHのconfigure中、OpenSSLの作業ディレクトリがないとかいうエラーが出た。--with-ssl-dirとかで指定してもダメ。こちらは解決手段模索中
◆↑2002-04-02解決!!
先日作ったページ、必要と思われるもののインストールで書いてあるものを全部インストールしなおしたら、あっけにとられるほど問題なくインストール成功!。おそらく、binutilのバージョンあたりが原因だと思う。
同じような症状出て、binutilのみ入れていけたという人がいたら、BBSにでもご報告お願いします〜。

◆2002/06/06追記
◆OpenSSHを最新のopenssh-3.2.3p1をインストール中、make installにやたらと時間がかかった。さらにインストール後、teratermでログインするとき、ID、パスの認証はすぐ出来るが、ログインまでに5分以上かかる症状が。
◆↑2002-06-07解決!!
OpenSSHインストール時、Makefileに、
/perl fixprogs ssh_prng_cmds というのを実行するものがある。ssh_prng_cmds内の'netstat -ia'というコマンドでずいぶん時間がかかる。・・・sparc版のsolaris7と比べると出力の内容が違うし。なんだこりゃ。(笑)
インストール後の/usr/local/etc/ssh_prng_cmds内の'netstat -ia' のスイッチを'-i'のみにする。これで出力内容はsolaris7と同じになる。
これによって、ログインの速度が前と同じになった。速い!。netstatのバージョンが違うのかなぁ・・・?

◆2002/06/28追記
◆OpenSSH make時にこんなエラーが出てた。(sparc Solaris7)
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
◆↑2002-06-29解決(?)
上記を英語の通りに解釈すると・・・ 
「system-dirの/usr/local/includeを調べる手順が変更されています。」
「SysDirでないものして、既に指定されている」・・・どういうこっちゃ(爆)
で、どうやらGCC-3.1が原因らしい。GCC 2.95に戻したら・・・すんなり入りました。gccで-Iを使った時の動作に誤差がある模様です。ふ〜、やれやれ。


◆2002/10/23追記
◆OpenSSH 4.5p1へのアップ時にこんなエラーが出てた。(sparc Solaris7)

configure: error *** Can't find recent OpenSSL libcrypto ***

(openssh-3.5p1.tar.gz,openssl-engine-0.9.6g.tar.gzを使用)
◆↑2002-10-23解決
 libcryptoの関係がおかしいのかと疑い、いろいろ調べて見る。ssl/lib/libcrypto.aを動かしたり(笑)、過去にあったbinutilsのプログラムも試して見る。PATHも変えて/usr/ccs/binとかの優先順位も変えたがダメ。
 で、解決した方法。openssl-engine-0.9.6g.tar.gzを使ってたわけだが・・・openssl-0.9.6g.tar.gzを落としてきて入れたら、sshのconfigureもうまくとおった。なんだこりゃ。-engineがつくと別物なのか?不思議な現象だった・・・。





<メインに戻る>
<NetNorisトップに戻る>