centos6.5升级openssh和openssl +修改ssh端口为自定义

来源:互联网 发布:淘宝代理加盟违法吗 编辑:程序博客网 时间:2024/05/20 07:59

部分安装步骤参考了其他博文,详见本文最后

1.关键操作:libcrypto.so.10和libssl.so.10的保存(本人的惨痛教训就是直接rpm openssl后缺失这两个文件导致wget/yum均不能使用。只能现场USB方式复制# cp  /usr/lib64/libcrypto.so.10  /usr/lib64/libcrypto.so.10.old# cp  /usr/lib64/libssl.so.10  /usr/lib64/libssl.so.10.old
2.为升级准备,必须先安装的包:# yum install xinetd# yum install telnet-server 允许通过telnet登陆设备# yum install lrzsz 允许通过secureCRT传输文件# yum install zlib 前置软件包
3.获取数据包(使用make方式安装)# wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz# wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz

说明:http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
依据此链接可见:openssh只支持1.0.2K版本的openssl,不支持1.1.0e版本

4.安装openssl:# cp  /usr/lib64/libcrypto.so.10  /usr/lib64/libcrypto.so.10.old# cp  /usr/lib64/libssl.so.10  /usr/lib64/libssl.so.10.old//复制关键文件
5.卸载openssl方案1# rpm -qa |grep openssl|xargs -i rpm -e --nodeps {}方案2:如果执行方案1后openssl version -a 依旧存在,可以使用以下方案强制清理(但可能需要手工建立软链接)# find / -name openssl/usr/lib64/openssl/usr/bin/openssl/etc/pki/ca-trust/extracted/openssl# rm -rf /usr/lib64/openssl# rm -rf /usr/bin/openssl# rm -rf /etc/pki/ca-trust/extracted/openssl
6.安装openssl# tar -zxvf openssl-1.0.2k.tar.gz# cd openssl-1.0.2k# ./config --prefix=/usr --openssldir=/etc/ssl --shared zlib    #必须加上--shared,否则编译时会找不到新安装的openssl的库而报错# make# make test                            #必须执行这一步结果为pass才能继续,否则即使安装完成,ssh也无法使用# make install# openssl version -a                   #查看是否升级成功恢复关键文件# mv  /usr/lib64/libcrypto.so.10.old  /usr/lib64/libcrypto.so.10# mv  /usr/lib64/libssl.so.10.old  /usr/lib64/libssl.so.10
7.卸载openssh(如需备份配置请自行执行mv /etc/ssh /etc/ssh.old)rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
8.openssh安装:使用之前下载的openssh tar包进行安装# tar -zxvf openssh-7.4p1.tar.gz# cd openssh-7.4p1# ./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords  --with-pam  --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd# make# make install# ssh -V              #验证是否升级成功(如果之前复制了配置文件此处请进行恢复)# service sshd restart使用22端口远程SSH登陆以确认可行性。可登陆后删除telnet# yum remove telnet-server

如果需要修改SSH端口为自定义端口

1.修改ssh端口# vi  /etc/ssh/sshd_config    #Port 22    #AddressFamily any    #ListenAddress 0.0.0.0    #ListenAddress ::增加两行:Port 22Port 12345保存退出# /etc/init.d/sshd restart 重启服务
2.修改iptables:新增一行策略#  vi /etc/sysconfig/iptables    -A INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT
3.修改selinux:# yum -y install policycoreutils-pythoy# semanage port -a -t ssh_port_t -p tcp 12345  新增ssh允许端口号# semanage port -l | grep ssh 检查是否生效    ssh_port_t                     tcp      10086, 22#  netstat -tpnl | grep ssh    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      26348/sshd      tcp        0      0 :::22                       :::*                        LISTEN      26348/sshd     tcp        0      0 0.0.0.0:12345               0.0.0.0:*                   LISTEN      27627/sshd              tcp        0      0 :::12345                    :::*                        LISTEN      27627/sshd  使用12345的ssh登陆,验证是否可用。如生效则#  vi /etc/sysconfig/iptables删除port 22# /etc/init.d/sshd restart 重启服务

附录:各种报错的解决方案

软链接失效[root@localhost openssl-1.0.2k]# openssl version -abash: /usr/local/bin/openssl: No such file or directory解决方案:将/usr/local/bin/openssl中新增一个软链接指向真实的 /usr/bin/openssl ln -s /usr/bin/openssl /usr/local/bin/openssl 
安装ssl缺少library的解决方案configure: error: Your OpenSSL headers do not match your        library. Check config.log for details.        If you are sure your installation is consistent, you can disable the check        by running "./configure --without-openssl-header-check".        Also see contrib/findssl.sh for help identifying header/library mismatches.解决方案:yum install openssl-devel
安装openssh时发现openssl版本不匹配checking OpenSSL header version... 1010005f (OpenSSL 1.1.0e  16 Feb 2017)checking OpenSSL library version... not foundconfigure: error: OpenSSL library not found.解决方案:find / -name opensshrm -rf 所有搜索结果

正常升级流程可参考下述blog
http://www.cnblogs.com/xshrim/p/6472679.html

修改ssh端口可参考此blog
http://www.2cto.com/os/201405/299466.html

原创粉丝点击