在Solaris8上安装OPENSSH

安装步骤

初始步:得到Solaris 8的random补丁

PRNG is not seeded这个问题所困扰 下面是我的解决办法
首先要保证openssh所要求的包你都安装了
1 。sun的patch 112438-01
其实这个patch安装了有时也没有用 打这个patch的目的是因为8默认没有一个随机数设备
安装这个patch就是为解决这个问题 但从实际使用情况来看,没有什么用 所以建议不要安装 。

2 。安装一个第3方的软件 ANDIrand-0.7-5.8-sparc-1.pkg
安装了这个软件之后,会在/dev/目录下生成2个随机数设备
random urandom
安装之后不用重起
这时你在起 openssh 就会正常了

这个软件的下载地址
for 2.6
http://www.cosy.sbg.ac.at/~andi/SUNrand/pkg/ANDIrand-0.7-5.6-sparc-1.pkg
for 8
http://www.cosy.sbg.ac.at/~andi/SUNrand/pkg/ANDIrand-0.7-5.8-sparc-1.pkg



第一步:获得安装包

从这你可获得安装包,对于SPARC系统

openssh-3.5p1-sol8-sparc-local.gz

openssl-0.9.6g-sol8-sparc-local.gz

tcp_wrappers-7.6-sol8-sparc-local.gz (可选,但推荐安装)

zlib-1.1.4-sol8-sparc-local.gz

libgcc-3.2-sol8-sparc-local.gz

perl-5.6.1-sol8-sparc-local.gz (可选)

prngd-0.9.25-sol8-sparc-local.gz (可选)

egd-0.8-sol8-sparc-local.gz (可选)

对于Intel系统:

openssh-3.5p1-sol8-intel-local.gz

openssl-0.9.6g-sol8-intel-local.gz

tcp_wrappers-7.6-sol8-intel-local.gz (可选,但推荐安装)

zlib-1.1.4-sol8-intel-local.gz

libgcc-3.2-sol8-intel-local.gz

perl-5.6.1-sol8-intel-local.gz (可选)

prngd-0.9.25-sol8-intel-local.gz (可选)

egd-0.8-sol8-intel-local.gz (可选)

假如你已经安装了其中一些包的话,可以跳过下载,但是很多包都是最新的 。


第二步:安装软件包

文件下载完之后,进入下载目录并运行如下命令(此以sparc系统为例,如是Intel系统,换为

Intel文件即可):

# gunzip openssh-3.5p1-sol8-sparc-local.gz

# gunzip openssl-0.9.6g-sol8-sparc-local.gz

# gunzip zlib-1.1.4-sol8-sparc-local.gz

# gunzip libgcc-3.2-sol8-sparc-local.gz (假如你还未安装gcc 3.2)

# gunzip tcp_wrappers-7.6-sol8-sparc-local.gz (可选)


其他可选包也可同样操作,然后用root权限运行如下命令


# pkgadd -d openssh-3.5p1-sol8-sparc-local

# pkgadd -d openssl-0.9.6g-sol8-sparc-local

# pkgadd -d zlib-1.1.4-sol8-sparc-local

# pkgadd -d libgcc-3.2-sol8-sparc-local (假如你还未安装gcc 3.2)

# pkgadd -d tcp_wrappers-7.6-sol8-sparc-local (可选)

一旦你已经安装了以上包后,在目录/usr/local下你将得到很多子目录 。ssl文件的默认路径是

/usr/local/ssl 。当这些文件被编译为不将目录(/usr/local/lib和/usr/local/ssl/lib)加入

LD_LIBRARY_PATH,那可能将需要设置它们 。现在你将可以在目录/usr/local/bin中找到ssh在目

录/usr/local/sbin中找到sshd 。确定你将目录/usr/local/bin和目录/usr/local/sbin加到了你

的PATH环境变量中 。在可选的egd包中的perl脚本程序(.pl后缀)将要在目录/usr/local/bin中

寻找perl 。假如你使用的是Sun Perl,那么Perl脚本程序开头改为/usr/bin,然而使用安装包的

为/usr/local/bin


第三步:建立sshd用户和/var/empty目录

openssh 3.5p1中采用了一种新的安全方式被称为特权分隔 。具体内容你可以查看在openssh的源

文件目录中的README.privsep文件 。现在这种方式在openssh中为默认设置 。在进行之前你应该

阅读一下README.privsep文件,然后在用root权限执行这些步骤:

# mkdir /var/empty

# chown root:sys /var/empty

# chmod 755 /var/empty

# groupadd sshd

# useradd -g sshd -c "sshd privsep" -d /var/empty -s /bin/false sshd

推荐阅读