在 Solaris 8.0 上安装SSH( 二 )



/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

【在 Solaris 8.0 上安装SSH】至此完成了ssh的安装 。

推荐阅读