免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1992 | 回复: 0
打印 上一主题 下一主题

openssh4.1p1在sparc solaris9下的安装 [复制链接]

论坛徽章:
1
处女座
日期:2013-08-19 15:17:06
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-01 16:47 |只看该作者 |倒序浏览

Solaris9自带的ssh工具不是很好用,至少文件传送速度和openssh比起来要差很远,所以只好手工diy了^_^
openssh4.1p1在sparc solaris9下的安装
所有软件均来自
www.sunfreeware.com
1. 确认所需软件包
源包地址
The sources for these different programs are on sunfreeware.com or you can go to their home pages at
http://www.zlib.org
zlib
http://www.perl.org
perl
http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html
prngd
http://www.openssl.org
openssl
http://www.openssh.org
openssh
http://www.lothar.com/tech/crypto/
egd
ftp://ftp.porcupine.org/pub/security/index.html
tcp_wrappers
从sunfreeware下载的安装包
openssh-4.1p1-sol9-sparc-local.gz
openssl-0.9.7g-sol9-sparc-local.gz
tcp_wrappers-7.6-sol9-sparc-local.gz (optional, but recommended)
(unless you are using IPV6 - see the tcp_wrappers listing for details on this issue)
zlib-1.2.1-sol9-sparc-local.gz
perl-5.8.5-sol9-sparc-local.gz (optional)
prngd-0.9.25-sol9-sparc-local.gz (optional)
egd-0.8-sol9-sparc-local.gz (optional)
libgcc-3.3-sol9-sparc-local.gz     (如果没有安装gcc,就必须装这个)
2. 安装下载的软件包
With the files downloaded, go to the directory where you put them and run
# gunzip openssh-4.1p1-sol9-sparc-local.gz
# gunzip openssl-0.9.7g-sol9-sparc-local.gz
# gunzip zlib-1.2.2-sol9-sparc-local.gz
# gunzip libgcc-3.3-sol9-sparc-local.gz  (if you don't have gcc 3.3.2 installed)
# gunzip tcp_wrappers-7.6-sol9-sparc-local.gz (again optional)
and optionally for the other packages.  Then run as root
# pkgadd -d openssh-4.1p1-sol9-sparc-local
# pkgadd -d openssl-0.9.7g-sol9-sparc-local
# pkgadd -d zlib-1.2.2-sol9-sparc-local
# pkgadd -d libgcc-3.3-sol9-sparc-local  (if you don't have gcc 3.3.2 installed)
# pkgadd -d tcp_wrappers-7.6-sol9-sparc-local (optional)
可选的那些软件包也装了,安装过程同上
3. sshd用户的安全设定
# 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
增加了一个系统用户sshd,预备来启动sshd进程,sshd用户的home目录为/var/empty只有root用户才有权限
4. sshd的系统启动关闭脚本的设置
solaris9 自带的sshd启动关闭脚本已经非常好了,只要略加改造即可使用新安装的openssh4.1p1
solaris9 自己的ssh目录分布如下
/etc/ssh         ;ssh 和sshd的配置文件以及密匙文件
/usr/lib/ssh     :sshd等server端程序文件
/usr/bin/ssh     :ssh等client端程序文件
openssh4.1p1的程序包安装以后的目录分布
/usr/local/etc   : ssh 和sshd的配置文件以及密匙文件
/usr/local/sbin  : sshd等server端程序文件
/usr/local/bin   : ssh等client端程序文件
根据上面的分析即可将原有的sshd文件改造成如下
#!/sbin/sh
#
# Copyright (c) 2001 by Sun Microsystems, Inc.
# All rights reserved.
#
# ident "@(#)sshd       1.1     01/09/19 SMI"
#
# If sshd is configured (/etc/ssh/sshd_config exists and is readable),
# the start it up.
# Checks to see if RSA, and DSA host keys are available
# if any of these keys are not present, the respective keys are created.
KEYDIR=/usr/local/etc                       #将以前的/etc/ssh 修改为/usr/local/etc
KEYGEN="/usr/local/bin/ssh-keygen -q"       #将以前的/usr/bin/修改为/usr/local/bin
PIDFILE=/var/run/sshd.pid
case $1 in
'start')
        if [ -x /usr/local/bin/ssh-keygen ]; then             # 将以前的/usr/bin/修改为/usr/local/bin
                if [ ! -f "$KEYDIR/ssh_host_rsa_key" ]; then
                        echo "Creating new RSA public/private host key pair"
                        $KEYGEN -f $KEYDIR/ssh_host_rsa_key -t rsa -N ''
                fi
                if [ ! -f "$KEYDIR/ssh_host_dsa_key" ]; then
                        echo "Creating new DSA public/private host key pair"
                        $KEYGEN -f $KEYDIR/ssh_host_dsa_key -t dsa -N ''
                fi     
        fi
        [ -x /usr/local/sbin/sshd ] && /usr/local/sbin/sshd &       #将以前的/usr/lib/ssh/修改为/usr/local/sbin
        ;;
'stop')
        #
        # If we are switching Run level downwards then we disconnect
        # all connections.
        #
        # Otherwise we just kill the master daemon that is listening
        # and leave the connections active
        if [ -z "$_INIT_RUN_LEVEL" ]; then
                set -- `/usr/bin/who -r`
                _INIT_RUN_LEVEL="$7"
                _INIT_PREV_LEVEL="$9"
        fi
        
        if [ $_INIT_RUN_LEVEL -lt $_INIT_PREV_LEVEL ]; then
                /usr/bin/pkill -u 0 -x sshd
        fi
        if [ -f "$PIDFILE" ]; then
                /usr/bin/kill -TERM `/usr/bin/cat $PIDFILE`
        fi
        ;;
'restart')
        if [ -f "$PIDFILE" ]; then
                /usr/bin/kill -HUP `/usr/bin/cat $PIDFILE`
        fi
        ;;
*)
        echo "Usage: $0 { start | stop }"
        exit 1
        ;;
esac   
5. 原有的 ssh相关文件的善后处理工作
可以删除原有的sshd软件包,也可改名处理,这次是改名处理
# cd /usr/bin
# mv ssh-add ssh-add.old
# ln -s /usr/local/bin/ssh-add ssh-add
# mv ssh-agent ssh-agent.old
# mv ssh-keygen ssh-keygen.old
# ln -s /usr/local/bin/ssh-agent ssh-agent
# ln -s /usr/local/bin/ssh-keygen ssh-keygen     
# ln -s /usr/local/bin/ssh-keyscan ssh-keyscan
# mv /usr/bin/sftp /usr/bin/sftp.od
# ln -s /usr/local/bin/sftp /usr/bin/sftp
sshd文件是通过sshd脚本的来启动的,所以没有改动。
可能openssh4.1p1的编译成安装包默认就认为sshd_config和ssh_config文件就在/usr/local/etc,所以以前的/etc/ssh文件也没有改名,只是
再也用不到了。
6. tcp_wrappers 的设置工作
其实就是设置/etc/hosts.allow和/etc/hosts.deny,文件格式如下:
sshd: ALL
规则:如果hosts.allow和hosts.deny存在,只有符合在hosts.allow里面的条目才能登陆。
7. 启用新的openssh4.1p1
kill -9 杀掉 老的进程,/etc/init.d/sshd start开始新的sshd进程
8. 主要参考了
http://www.sunfreeware.com/openssh9.html
9. 编辑sshd_config 中得条目只允许ssh2协议
    Protocol 2
   


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8983/showart_54668.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP