Username: Password:

在Solaris8上安装SSH
来源:ChinaUnix.net作者:ChinaUnix.net 发布时间:2008-04-07 07:23:57


在Solaris8上安装SSH

安装步骤

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

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

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

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



第一步:获得安装包

从这您可获得安装包,对于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 


/var/empty 不应该包含任何文档.

假如您没有做这一步并试图启动sshd的话,您将得到error信息并且守护进程不会运行。 


第四步:安装tcp_wrappers

tcp_wrappers是被用来限制某些有限组机器访问您的通信端口,例如sshd程式使用的22端口。假

如您已运行了tcp_wrappers,那么您只要确定sshd守护进程条目是否在/etc/hosts.allow和

/etc/hosts.deny文档中。假如您当前没有运行tcp_wrappers,您首先应该创建文档

/etc/hosts.deny并在文档中加入一行

sshd:ALL

然后,创建文档/etc/hosts.allow并加入一行,例如

sshd:...

"..."处填写您允许和您的机器通信的IP列表,例如

sshd:202.112.117.

此例说明允许202.112.117.子网的机器访问您的机器。 


第五步:安装ssh和sshd

这是最后一步。每一台您想通过ssh客户端进行通信的机器都需要运行一个sshd守护进程。但是

首先,您需要在服务器机器上运行下面的命令来创建秘钥信息。再次确定目录/usr/local/bin和

/usr/local/sbin是否在您的PATH中。假如您以前曾运行过sshd并且在/usr/local/etc下有秘

钥,那么运行下面这些命令将会覆盖他们。用root权限,输入:

# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""

# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""

# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""

每一条命令可能要花费几分钟的事件,这取决于您机器的速度。等到每条命令结束为止。 


完成之后,我们能够创建脚本来启动sshd守护进程。下面编辑一个简单的启动脚本,并把他放置

在/etc/init.d目录下(root权限): 


#!/bin/sh 


pid=`/usr/bin/ps -e | /usr/bin/grep sshd | /usr/bin/sed -e ’s/^ *//’ -e ’s/ .*//’`

case $1 in

’start’)

/usr/local/sbin/sshd

;;

’stop’)

if [ "${pid}" !="" ]

then

/usr/bin/kill ${pid}

fi

;;

*)

echo "usage: /etc/init.d/sshd {start|stop}"

;;

esac 


然后运行如下命令:

# chown root /etc/init.d/sshd

# chgrp sys /etc/init.d/sshd

# chmod 555 /etc/init.d/sshd

# ln -s /etc/init.d/sshd /etc/rc2.d/S98sshd 


# /etc/rc2.d/S98sshd start 

通过上面这条命令能够手工启动进程

# /etc/rc2.d/S98sshd stop 

此条命令将停止sshd守护进程

# ps -e | grep sshd 

此条命令能够查看是否启动了sshd 


至此完成了ssh的安装。
文章为转载一起学吧

 missing-cn 回复于:2004-08-26 19:41:01
前两天偶刚在一个solaris8装了openssh,
那个补丁一定要装得,不然会出错,至于那个第三方得软件偶没有安装。
[quote:7a95a69979="songyupo"]" !="" ]

then

/usr/bin/kill ${pid}

fi

;;

*)

echo "usage: /etc/init.d/sshd {start|stop}"

;;

esac 


然后运行如下命令:

# chown root /etc/init.d/sshd

# chgrp sys /etc/in..........[/quote:7a95a69979]

 月黑高飞 回复于:2004-08-26 21:43:46
[quote:ff04a68636="missing-cn"][/quote:ff04a68636]
patch 不重要,[b:ff04a68636]ANDIrand-0.7-5.8-sparc-1.pkg [/b:ff04a68636] 能够解决PRNG is not seeded这个问题。推荐!

 songyupo 回复于:2004-08-27 09:49:37
谢谢支持

 jian-yuyu 回复于:2004-08-27 10:30:40
不错,文档挺周详。

 dpblue 回复于:2004-08-28 00:22:23
有没有这么复杂啊,我到sunfreeware下了一个,unzip,pkadd就ok了,是不是会有什么问题啊

 佟儿 回复于:2004-08-28 19:54:05
[img:6157caf519]http://bbs.chinaunix.net/forum/uploadfile/_________94771093149310.gif[/img:6157caf519]

 liwit 回复于:2004-08-31 08:38:14
要改这么多东西啊,我在9上也是就只unzip,pkadd就完事了,我这样装完会不会有什么问题?反正我用PuTTY能够登陆,其他的我也不知道。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅