游乐游手机版
首页/系统平台/文章详情

Solaris8安装OPENSSH方法

时间:2026-04-15 16:58
在Solaris 8上安装OPENSSH 相信不少朋友在Solaris 8上折腾OpenSSH时,都曾被那个经典的“PRNG is not seeded”(伪随机数生成器未播种)问题给卡住过。今天,咱们就来聊聊这个问题的解决之道。 首先要做的,自然是确保OpenSSH所需的所有依赖包都已就位。 A、

在Solaris 8上安装OPENSSH

相信不少朋友在Solaris 8上折腾OpenSSH时,都曾被那个经典的“PRNG is not seeded”(伪随机数生成器未播种)问题给卡住过。今天,咱们就来聊聊这个问题的解决之道。

首先要做的,自然是确保OpenSSH所需的所有依赖包都已就位。

A、关于Sun官方的补丁 112438-01

这里有个小插曲。这个补丁的本意,是解决Solaris 8默认不提供随机数设备的问题。但根据实际操作经验,打了这个补丁有时也并不奏效。因此,一个比较务实的建议是可以先跳过这一步。虽然我没安装它,但还是把信息列在这里,供你参考。

1、安装第三方随机数设备软件

解决随机数问题的核心,其实是安装一个叫做ANDIrand的第三方软件包。下载对应的版本(Solaris 8对应ANDIrand-0.7-5.8-sparc-1.pkg),然后直接安装。安装过程很快,无需重启系统。完成后,系统/dev/目录下就会生成关键的randomurandom设备文件。
这样一来,再启动OpenSSH,那个恼人的错误提示就会消失了。软件的下载地址很关键:
针对Solaris 2.6系统:
https://www.cosy.sbg.ac.at/~andi/SUNrand/pkg/ANDIrand-0.7-5.6-sparc-1.pkg
针对Solaris 8系统:
https://www.cosy.sbg.ac.at/~andi/SUNrand/pkg/ANDIrand-0.7-5.8-sparc-1.pkg

2、获取必要的安装包

接下来是准备OpenSSH及其依赖的软件包。对于SPARC架构的Solaris 8系统,建议前往https://www.sunfreeware.com/indexsparc8.html下载对应版本。通常需要下面这些:

  • openssh-3.5p1-sol8-sparc-local.gz
  • openssl-0.9.6g-sol8-sparc-local.gz
  • zlib-1.1.4-sol8-sparc-local.gz
  • libgcc-3.2-sol8-sparc-local.gz (如果没安装gcc 3.2的话)
  • tcp_wrappers-7.6-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命令解压下载好的压缩包:
# 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命令依次安装:
# 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
# pkgadd -d tcp_wrappers-7.6-sol8-sparc-local (可选)

安装完毕后,/usr/local目录下会生成一系列子目录。OpenSSL文件的默认路径会是/usr/local/ssl。这里需要注意一个细节:如果这些软件在编译时没有将/usr/local/lib/usr/local/ssl/lib加入LD_LIBRARY_PATH环境变量,那么你可能需要手动设置一下。完成这一步后,你就能在/usr/local/bin中找到ssh客户端,在/usr/local/sbin中找到sshd守护进程了。记得确保这两个目录已经添加到了你的PATH环境变量里。另外,如果你安装了可选的egd包,其中的Perl脚本会默认在/usr/local/bin中寻找Perl解释器。如果你用的是Sun自带的Perl,需要将脚本开头的路径改为/usr/bin

4、建立sshd用户和/var/empty目录

出于安全考虑,OpenSSH需要一个独立的权限分离用户和一个空目录。执行以下命令:
# 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,你只需要检查/etc/hosts.allow/etc/hosts.deny文件中是否有关于sshd的条目即可。如果之前没配置过,那么建议按以下步骤操作:
首先,创建(或编辑)/etc/hosts.deny文件,并加入一行:
sshd:ALL
这样做的目的是默认拒绝所有主机访问sshd。然后,创建(或编辑)/etc/hosts.allow文件,在这里加入你信任的主机。例如,只允许202.112.117.0这个网段的主机访问:
sshd:202.112.117.
通过这一放一收,就能精确控制访问来源。

6、配置ssh和启动sshd

终于到了最后一步。每台你想通过SSH客户端连接的服务器,都需要运行sshd守护进程。首先,需要在服务器上生成主机密钥。确保/usr/local/bin/usr/local/sbin在你的PATH中。如果以前生成过密钥,以下命令会覆盖它们,请注意备份。以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 ""
生成过程可能需要几分钟,取决于机器性能,耐心等待每条命令完成。

密钥生成后,我们来创建一个系统启动脚本。用编辑器(例如vi)在/etc/init.d目录下创建一个名为sshd的文件:

#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

现在,你可以通过以下命令手动启动sshd:
# /etc/rc2.d/S98sshd start
或者等价地使用:
# /etc/init.d/sshd start

要停止服务,则执行:
# /etc/rc2.d/S98sshd stop

最后,验证一下服务是否成功启动:
# ps -ef | grep sshd
然后,尝试从另一台机器使用ssh [你的服务器IP]命令进行登录,如果一切顺利,整个安装配置过程就大功告成了。

来源:https://www.jb51.net/os/Solaris/1683.html
上一篇Solaris 系统查看系统中CPU的数目 下一篇FreeBSD系统下安装字体的步骤详解
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Linux tail -f命令实操:实时查看文件增长内容
系统平台 · 2026-06-07

Linux tail -f命令实操:实时查看文件增长内容

在Linux环境下排查系统故障时,实时监控日志文件的内容增长是最常用的诊断手段之一。而tail -f命令,无疑是大家最先想到、也最直接的工具。不过,它并非万能解决方案。简单来说,它只负责“追加”监听,对于日志滚动、文件轮转或者权限变更这些生产环境里的常见场景,它就显得力不从心了。 你是否遇到过这样的

Windows批量删除注册表残留提升系统响应速度教程
系统平台 · 2026-06-07

Windows批量删除注册表残留提升系统响应速度教程

你的Windows是不是越用越迟钝?明明已经卸载的软件,却仍在“设置”的应用列表里挥之不去,甚至在“此电脑”里留下几个失效的图标?这多半不是错觉,而是注册表里堆积了太多“垃圾”——那些无效的卸载项、空壳的扩展键,如同系统里散落的“幽灵文件”,拖慢了响应速度,也扰乱了界面整洁。 不必忧虑,清除这些残留

修复Windows无法连接iPhone15/16热点超时问题
系统平台 · 2026-06-07

修复Windows无法连接iPhone15/16热点超时问题

遇到Windows电脑始终无法连接iPhone 15或16的个人热点,确实令人困扰。屏幕上要么持续转圈,要么显示“正在获取IP地址”、“连接超时”,甚至Wi-Fi列表中根本搜不到热点信号。请放心,这通常并非硬件损坏,而是由常见的软件兼容性或系统设置冲突引起的。下面这套系统化的排查方案,能帮助你逐步定

Win11无法识别NVMe硬盘?修复主板BIOS识别SSD教程
系统平台 · 2026-06-07

Win11无法识别NVMe硬盘?修复主板BIOS识别SSD教程

新购置的NVMe固态硬盘已经正确安装到主板上,但Windows 11系统中却始终无法识别?先别担心是硬盘故障,这通常是系统在底层沟通环节出现了小问题。从BIOS UEFI参数配置、驱动程序兼容性到物理连接状态,任何一个环节的细微偏差都可能导致系统无法正常检测到硬盘。接下来,我们将按照故障排查的逻辑顺

Win11多桌面切换手势开启教程 提升触控板操作效率
系统平台 · 2026-06-07

Win11多桌面切换手势开启教程 提升触控板操作效率

Windows11触控板四指左右滑动可切换虚拟桌面以提升效率。若手势失效或设置选项缺失,需确认触控板为精密触控板,并通过系统设置启用功能。若选项不可用,可尝试修改注册表、执行PowerShell命令或检查虚拟桌面功能是否开启,以恢复手势支持。