最近由于绿盟不断扫到openssh漏洞,决定对HP机器进行升级,将openssh升级到最新。
目前创新互联建站已为上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管维护、企业网站设计、集安网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
查看设备ssh的版本,确实比较低
有一个网站提供很详细的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位的,在页面上找到自己对应的平台
然后下载OpenSSH 6.6p1 (for openssl-1.0.1),OpenSSL 1.0.1h,zlib 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/ssh7
bash-3.2#swcopy -v -s /home/test/upload/ssh/openssl-1.0.1h-11.23.sd openssl @ /home/test/upload/ssh/ssh7 (标红的必须是绝对路径)
bash-3.2#swcopy -v -s /home/test/upload/ssh/zlib-1.2.8-11.23.sd zlib @ /home/test/upload/ssh/ssh7
bash-3.2#swcopy -v -s /home/test/upload/ssh/openssh-6.6p1-11.23.sd openssh @ /home/test/upload/ssh/ssh7
将三个软件打包到ssh7文件夹中后,就可以开始安装了。
开始安装之前需要做一些准备工作
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删除对应的软件。最后退出
.全新安装新版openssh,openssl,zlib
-bash-3.2#swinstall -s /home/test/upload/ssh/ssh7 (空格键依次全部选中)
-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服务,此处省略。