Solaris 10如何安装和配置SSH服务
安装步骤
在 Solaris 10 操作系统上部署 SSH 服务,初看可能稍显繁琐,但掌握关键环节后,整个过程并不复杂。下面我们将逐步拆解,确保你能顺利完成配置。
先说明几个核心要点:整个流程可分为获取安装包、安装软件包、配置安全环境以及启动守护进程等几个阶段。每个阶段都需要细致操作,尤其注意权限和路径的正确设置,稍有疏忽可能导致服务无法正常启动。
第一步:获取安装包
首先,需要下载所需的安装包。SUN 的自由软件站点(ftp://ftp.sunfreeware.com/pub/freeware/sparc/10)提供了所有必需组件,无需手动编译,省去不少麻烦。对于 SPARC 架构的系统,请下载以下文件:
openssh-4.3p1-sol10-sparc-local.gz
openssh-4.3p2-sol10-sparc-local.gz
openssl-0.9.8a-sol10-sparc-local.gz
tcp_wrappers-7.6-sol10-sparc-local.gz(可选,但建议安装)
zlib-1.2.3-sol10-sparc-local.gz
libgcc-3.3-sol10-sparc-local.gz
perl-5.6.1-sol8-sparc-local.gz(可选)
prngd-0.9.25-sol10-sparc-local.gz(可选)
egd-0.8-sol8-sparc-local.gz(可选)
若系统中已安装部分包,可以跳过。但稳妥起见,建议尽可能获取最新版本。若是 Intel 平台,只需将文件名中的“sparc”替换为“intel”即可。
第二步:安装软件包
下载完成后,进入下载目录,依次执行解压命令。以 SPARC 系统为例:
# gunzip openssh-4.3p1-sol10-sparc-local.gz
# gunzip openssh-4.3p2-sol10-sparc-local.gz
# gunzip openssl-0.9.8a-sol10-sparc-local.gz
# gunzip zlib-1.2.3-sol10-sparc-local.gz
# gunzip libgcc-3.3-sol10-sparc-local.gz(若尚未安装 gcc 3.3)
# gunzip tcp_wrappers-7.6-sol10-sparc-local.gz(可选)
其他可选包同理。接着以 root 身份运行安装指令:
# pkgadd -d openssh-4.3p1-sol10-sparc-local
# pkgadd -d openssh-4.3p2-sol10-sparc-local
# pkgadd -d openssl-0.9.8a-sol10-sparc-local
# pkgadd -d zlib-1.2.3-sol10-sparc-local
# pkgadd -d libgcc-3.3-sol10-sparc-local(若尚未安装 gcc 3.3)
# pkgadd -d tcp_wrappers-7.6-sol10-sparc-local(可选)
安装过程中遇到交互提示,均输入“y”即可。
安装完成后,/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 环境变量中。
此外,可选包中的 Perl 脚本(.pl 文件)默认会在 /usr/local/bin 中寻找 Perl 解释器。如果使用系统自带的 Sun Perl,需要将脚本开头的路径改为 /usr/bin;如果使用安装包提供的 Perl,则保持 /usr/local/bin 不变。
第三步:建立 sshd 用户和 /var/empty 目录
OpenSSH 4.3p1 引入了一种新的安全机制——特权分离(privsep),具体原理可参考 openssh 源码目录下的 README.privsep 文件。该机制默认启用,因此在启动 sshd 之前,必须以 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 时会报错,守护进程无法正常运行。
第四步:配置 tcp_wrappers
tcp_wrappers 是一款访问控制工具,用于限制哪些机器可以访问 sshd 使用的 22 端口。如果已在用 tcp_wrappers,只需确认 /etc/hosts.allow 和 /etc/hosts.deny 文件中包含 sshd 条目即可。若尚未启用,需要先创建这两个文件:
首先,创建 /etc/hosts.deny,加入一行:
sshd:ALL
然后,创建 /etc/hosts.allow,填入允许访问的 IP 列表。例如:
sshd:10.71.62.
此例允许来自 10.71.62.0 子网的所有机器进行连接。
第五步:安装并启动 ssh 和 sshd
最后一步,在需要运行 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 ""
每条命令可能需要几分钟,取决于机器性能。完成后,在远端主机上也执行相同命令,创建公钥和私钥。若希望远端服务器能访问本机,需要将本机的公钥通过 FTP 等方式传递到远端主机的 /usr/local/etc 目录下,具体文件包括:
/usr/local/etc/ssh_host_key.pub
/usr/local/etc/ssh_host_dsa_key.pub
/usr/local/etc/ssh_host_rsa_key.pub
为方便管理,可以创建一个启动脚本放在 /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
使用 # ps -e | grep sshd 可以确认 sshd 是否已启动。
至此,SSH 安装完毕。可从远端主机通过以下命令访问:
# ssh root@N2000Secondary
或使用 IP 地址:
# ssh root@10.71.62.115
若使用主机名,需要在 /etc/hosts 中配置双方的 IP 地址和主机名对应关系。
扩展:如何实现无密码访问
若希望省去每次输入密码的麻烦,可通过密钥认证实现免密登录。具体步骤如下(local 代表当前主机,remote 代表远端主机):
在 local 服务器上:
local> ssh-keygen -t dsa -f .ssh/id_dsa
local> cd .ssh
local> scp id_dsa.pub user@remote:/.ssh/id_dsa.pub
local> ssh user@remote
在 remote 服务器上:
remote> cd .ssh
remote> cat id_dsa.pub >> authorized_keys2
remote> chmod 640 authorized_keys2
remote> rm id_dsa.pub
remote> exit
然后,修改 /usr/local/etc/sshd_config 文件,找到“PasswordAuthentication yes”这一行,去掉注释并将 yes 改为 no。重启 sshd 进程后,即可直接访问:
# root@N2000Primary # ssh N2000Secondary iostat -E|grep Size
Size: 73.40GB <73400057856 bytes>
Size: 73.40GB <73400057856 bytes>
Size: 73.40GB <73400057856 bytes>
Size: 0.49GB <486584320 bytes>
Size: 73.40GB <73400057856 bytes>
对比一下,如果在本地直接执行 iostat -E|grep Size:
# root@N2000Primary # iostat -E|grep Size
Size: 73.40GB <73400057856 bytes>
Size: 73.40GB <73400057856 bytes>
Size: 73.40GB <73400057856 bytes>
Size: 0.00GB <0 bytes>
Size: 73.40GB <73400057856 bytes>
可以看到,通过 SSH 远程执行命令所获得的结果完全一致。这意味着配置成功,可以高效地管理远程服务器了。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Win11频繁断网提示默认网关不可用怎么办
先聊聊一个很常见的问题:Windows 11 电脑刚连接 Wi-Fi 或插上网线时还能正常访问网络,可几分钟后突然“掉线”,任务栏右下角出现“无 Internet”提示,右键诊断显示“默认网关不可用”。这时候重启电脑或点击“修复”能暂时恢复,但用不了多久又会断开。这说明系统其实已经获得了 IP 地址
Mac如何取消正在进行的系统备份任务
Mac 正在执行时间机器备份时,进度条卡在“正在准备”或“备份中”迟迟不动,磁盘读写与网络带宽被持续占用——这种情形下,大多数用户都希望能立即中断任务。设想这样一个场景:你正赶着安装大型软件,或者急需拔出外接硬盘,但系统却执意继续备份。别担心,这里有一套行之有效的解决方案:先在“活动监视器”中强制退
电脑显示器刷新率锁死60Hz无法调整的解决方法
显示器刷新率锁死60Hz时,需检查DP或HDMI线缆版本并更换VESA认证线缆;可通过显示适配器属性勾选隐藏刷新率选项、显卡控制面板自定义时序、清洁安装驱动或使用CRU工具修改EDID强制启用高刷模式。
Linux系统下Systemd服务管理从零开始方法步骤详解完整教程
systemctl管理systemd服务,修改配置于 etc systemd system,启用需daemon-reload再enable。查看状态关注Loaded行,masked服务需unmask并重载恢复。reload发SIGHUP,restart中断连接,reload-or-restart自动降级。日常禁用优先用disable。
Mac如何取消同步iPhone书签和历史记录
彻底关闭iCloudSafari同步并选择“保留在Mac上”,然后手动删除书签文件夹或清理~ Library Safari Bookmarks plist文件,最后通过iCloud官网确认同步已失效,即可彻底清除Mac上的iPhone同步书签。
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-03 07:44
2026-07-03 07:44
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:43
2026-07-03 07:42
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

