最近由于绿盟不断扫到openssh漏洞,决定对HP机器进行升级,将openssh升级到最新。


 

查看设备ssh的版本,确实比较低

wKioL1P1prTy5OFCAAC9AZxpotM048.jpg


有一个网站提供很详细的HP 系列安装包下载,包括HP-UX 10.20 | HP-UX 11.00 | HP-UX 11.11 | HP-UX 11.23 | HP-UX 11.31这几个系列

网站网址链接 http://mirrors.develooper.com/hpux/downloads.html#hpux1123

我的设备是HP-UX 11.23 ia64位的,在页面上找到自己对应的平台

wKiom1P1pbCxk1S_AARdjTQvKIo624.jpg


然后下载OpenSSH 6.6p1 (for openssl-1.0.1)OpenSSL 1.0.1hzlib 1.2.8

这三个软件包下载到本地后,上传到需要升级的服务器上,可以一个一个的安装软件,但是这个比较麻烦,可以将这些软件打包安装,这样就方便多了。

1.将上传的xx.sd.bz压缩文件进行解压:

bash-3.2#bzip2 -d openssh-6.6p1-11.23.sd.bz

bash-3.2#bzip2 -d openssl-1.0.1h-11.23.sd.bz

bash-3.2#bzip2 -d zlib-1.2.8-11.23.sd.bz

bash-3.2#mkdir /home/test/upload/ssh/ssh6

bash-3.2#swcopy -v -s /home/test/upload/ssh/openssl-1.0.1h-11.23.sd openssl @ /home/test/upload/ssh/ssh6  (标红的必须是绝对路径)

bash-3.2#swcopy -v -s /home/test/upload/ssh/zlib-1.2.8-11.23.sd zlib @ /home/test/upload/ssh/ssh6

bash-3.2#swcopy -v -s /home/test/upload/ssh/openssh-6.6p1-11.23.sd openssh @ /home/test/upload/ssh/ssh6


将三个软件打包到ssh6文件夹中后,就可以开始安装了。

开始安装之前需要做一些准备工作

1.开启telnet服务,以免升级出现意外,无法连接设备

-bash-3.2#vi /etc/inetd.conf 去掉配置文件中telnet前的#,然后重启进程。

-bash-3.2# 
-bash-3.2# ps -ef | grep ssh
   ipnet 10151  9743  2 13:41:16 pts/2     0:00 grep ssh
   ipnet  9741  9721  0 13:33:17 ?         0:00 sshd: ipnet@pts/2
    root  9721  9715  0 13:33:02 ?         0:00 sshd: ipnet [priv]
    root  9715     1  0 13:32:45 ?         0:00 /opt/ssh/sbin/sshd
-bash-3.2# kill -HUP 9715

2.删除之前安装的openssh openssl zlib

-bash-3.2#swremove   (我这里已经安装了最新的了,如果是旧版本,先卸载,再安装最新版本)

按 空格键 选中需要卸载的软件名,都选中后按Tab键,按→键移到Actions ,选中Remove删除对应的软件。最后退出

wKiom1P1pdXib8rlAAIMKq5HCwQ759.jpg

wKioL1P1pv_CNj6VAAIJOqsZ5zc216.jpg

wKioL1P1px6B3rxxAAIzOr3h7pE223.jpg

 .全新安装新版openssh,openssl,zlib

-bash-3.2#swinstall -s /home/test/upload/ssh/ssh6  (空格键依次全部选中)

wKioL1P1p0fD2P8YAAHS4Azo8bI996.jpg

wKiom1P1pj3Di5c9AAHdSmw7CTA991.jpg

-bash-3.2# file /usr/local/sbin/sshd   (查看sshd软件位数版本)

/usr/local/sbin/sshd:   ELF-64 executable object file - IA64
-bash-3.2# ldd /usr/local/sbin/sshd     
        libcrypto.so => /usr/local/ssl/lib/libcrypto.so
        libz.so =>      /usr/lib/hpux64/libz.so
        libnsl.so.1 =>  /usr/lib/hpux64/libnsl.so.1
        libxnet.so.1 => /usr/lib/hpux64/libxnet.so.1
        libsec.so.1 =>  /usr/lib/hpux64/libsec.so.1
        libc.so.1 =>    /usr/lib/hpux64/libc.so.1
        libxti.so.1 =>  /usr/lib/hpux64/libxti.so.1
        libxti.so.1 =>  /usr/lib/hpux64/libxti.so.1
        libm.so.1 =>    /usr/lib/hpux64/libm.so.1
        libdl.so.1 =>   /usr/lib/hpux64/libdl.so.1


*********  我这里是做好之后的,第一次做可能会遇到找不到libz.so的情况,这时可以做一个链接

********* -bash-3.2# ln -s /usr/local/lib/libz.so /usr/lib/hpux64/
4.查看并停掉旧的ssh服务

-bash-3.2# ps -ef | grep inetd       
    root 22351 21699  1 15:21:27 pts/1     0:00 grep ssh
    root 21685  9715  0 15:08:23 ?         0:00 sshd: boco4A [priv]
    root  9715     1  0 13:32:45 ?         0:00 /opt/ssh/sbin/sshd
  boco4A 21687 21685  0 15:08:23 ?         0:00 sshd: boco4A@pts/1
-bash-3.2# kill -9 9715

5.移除旧的启动程序,链接新的程序

 -bash-3.2#mv /opt/ssh/sbin/sshd /opt/ssh/sbin/sshd_20140821

 -bash-3.2#ln -s /usr/local/sbin/sshd /opt/ssh/sbin/sshd

6.启动ssh服务

-bash-3.2#/opt/ssh/sbin/sshd

7.运行ssh-keygen 生成私钥和密钥

 -bash-3.2#ssh-keygen -f /usr/local/etc/ssh_host_rsa_key

 -bash-3.2#ssh-keygen -f /usr/local/etc/ssh_host_dsa_key
 -bash-3.2#ssh-keygen -f /usr/local/etc/ssh_host_ecdsa_key

8.查看ssh版本

  -bash-3.2#sshd -version

9.关闭telnet服务,此处省略。