Solaris8安装OPENSSH方法

番茄系统家园 · 2022-05-07 04:34:11

在Solaris8上OPENSSH

注:得到Solaris 8的random补丁 PRNG is not seeded这个问题所困扰 下面是我的办法
首先要保证openssh所要求的包你都了
A、sun的patch 112438-01
其实这个patch安装了有时也没有用 打这个patch的目的是因为8默认没有一个随机数设备
这个patch就是为这个问题 但从实际使用情况来看,没有什么用 所以建议不要。
 以上这步我没有做,不过先留在这里吧! 1、一个第3方的软件 ANDIrand-0.7-5.8-sparc-1.pkg
了这个软件之后,会在/dev/目录下生成2个随机数设备
random urandom
之后不用重起
这时你在起 openssh 就会正常了
这个软件的下载地址
for 2.6


for 8

2、获得包(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 (可选)     这个我也没装 3、软件包

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 4、建立sshd用户和/var/empty目录

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 不应该包含任何文件. 5、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.子网的机器访问你的机器。 6、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权限):

vi /etc/init.d/sshd

内容如下:

!/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守护进程
也可以这样启动: /etc/init.d/sshd start

ps -ef | grep sshd

此条命令可以查看是否启动了sshd
再从某台机使用ssh xx.xx.xx.xx是否能登录  

免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/xtwt/206605xmc3kI.html
猜你喜欢
最新应用
热门应用