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
阅读全文
0 0
- centos6.5升级openssh和openssl +修改ssh端口为自定义
- CentOS 5 中OpenSSL和OpenSSH升级
- CentOS6.5下openssh升级
- Centos6.5 ssh修改默认端口号
- centos6.5、centos6.6修改ssh默认端口号
- openssl&&openssh平滑升级
- Centos6.5安装、升级openssl
- ssh(Centos6.5 openssh)wumiy…
- centos6.5 修改ssh默认端口号 禁用root登录
- CentOS6.0修改ssh远程连接端口
- ubuntu修改openssh端口
- CentOS6.5 OpenSSL升级到OpenSSL 1.0.1g
- 主机安全加固--升级openssh及openssl
- 主机安全加固--升级openssh及openssl
- 解决openssh,openssl升级出现的坑
- 解决openssh,openssl升级出现的坑
- CentOS6.5 Upgrade OpenSSH
- SSL,SSH,OpenSSL,OpenSSH,HTTPS的区别
- 抛弃格子衫和冲锋衣_程序员该如何穿?
- Kotlin_局部变量_val_var
- Java POI SAX 处理海量数据读取(可用)
- Android开发人员不得不收集的代码(持续更新中)
- nginx 502 Bad Gateway 错误问题收集
- centos6.5升级openssh和openssl +修改ssh端口为自定义
- 1
- 二分
- STM32 端口复用&重映射(USART Remap)
- 基于HTML5 Canvas实现用户交互
- js中Uncaught RangeError: Maximum call stack size exceeded问题
- spring4.0整合了validation验证功能
- HTML CSS JS 思维导图
- leetcode78 subset