升级openssh【linux平台】
来源:互联网 发布:淘宝高仿鞋哪些店铺好 编辑:程序博客网 时间:2024/05/19 12:26
建议在第一步配置telnet之前,首先配置yum,用于安装可能需要的package
■■挂载OS的iso镜像
mount -o loop/u01/soft/os/rhel-server-6.4-x86_64-dvd.iso /u01/soft/os/iso
■■config yum - local
适用于redhat6:如redhat6.6,centos6.5
■屏蔽默认配置目录/etc/yum.repos.d
mv /etc/yum.repos.d /etc/yum.repos.d.old
■修改/etc/yum.conf,添加文件位置,并启用enabled=1
[server]
name=server
baseurl=file:///u01/soft/os
enabled=yes
gpgcheck=no
■配置httpd服务,用以配置http方式的yum源
将document配置到iso所挂载的位置
■■config yum - http
■屏蔽默认配置目录/etc/yum.repos.d
mv /etc/yum.repos.d /etc/yum.repos.d.old
■修改/etc/yum.conf
[os]
name=Red Hat Enterprise Linux
#sxyd-wxwy
baseurl = http://10.231.129.23
#hbyd-zhzy
#baseurl = http://10.216.6.138/os
gpgcheck=0
gpgkey = http://10.231.129.23/repodata/repomd.xml
一、■■配置telnet服务、gcc编译器
目的:便于远程操作、配置新版本的openssh,同时确保不会因为升级SSH失误导致无法远程登陆主机
■确认telnet服务是否已经安装
yum info telnet*
■如果没有安装telnet-server
yum install telnet-server
■安装telnet server后,修改/etc/xinetd.d/telnet的disable一行为no
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
■安装telnet server后,改名/etc/securetty文件
mv /etc/securetty /etc/securetty.old
■启动xinetd服务,即同时启动了telnet服务
service xinetd start
■此时测试能否远程telnet登陆服务器,确认telnet服务生效后,就可以进行下一步
■升级openssh需gcc编译器,确认是否安装
yum info gcc
如没有安装,则安装:
yum install gcc
二、■■升级Zlib
www.zlib.net
下载最新的源码【已下载】
tar xvfz zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make install
三、■■升级openssl
【升级openssl会导致yum、python等一系列依赖问题,因此暂时不升级openssl,只升级openssh到7.2版本】
www.openssl.org
下载最新的源码【已下载】
■卸载已有的openssl
rpm -e `rpm -qa | grep openssl`--allmatches --nodeps
■重新配置编译openssl到系统默认目录
tar xvfz openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config --prefix=/usr --shared zlib
(安装openssl, 记得加--shared选项, 否则openssh编译的时候可能会找不到新安装的openssl的library, 会报错:openssl的 header和library版本不匹配)
(20151020:增加了zlib选项,可解决最后的错误提示“Zlib not supported: compression tests skipped”)
make clean(这一步很关键,务必执行)
make
make test(这一步是进行SSL 加密协议的完整测试,如出现错误需找出原因,否则可能导致 SSH 不能使用)
make install
■如果make时报错如下
c_zlib.c:25:18: 错误:zlib.h:没有那个文件或目录
原因是没有zlib的devel库,需要安装devel库:yum install zlib-delvel
■确认openssl版本
openssl version -a
■升级openssl后可能会导致如下错误1
[root@zhzy138 openssh-7.5p1]# yum infovncserver
There was a problem importing one of thePython modules
required to run yum. The error leading tothis problem was:
libssl.so.10: cannot open shared object file: No such file or directory
Please install a package which providesthis module, or
verify that the module is installedcorrectly.
It's possible that the above module doesn'tmatch the
current version of Python, which is:
2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
ln相关的lib库文件到默认的目录即可
ln -s /usr/lib64/libssl.so.1.1/usr/lib/libssl.so.10
■升级openssl后可能会导致如下错误2
[root@zhzy138 openssl-1.1.0f]# yum infovncserver
There was a problem importing one of thePython modules
required to run yum. The error leading tothis problem was:
libcrypto.so.10: cannot open shared object file: No such file ordirectory
Please install a package which providesthis module, or
verify that the module is installedcorrectly.
It's possible that the above module doesn'tmatch the
current version of Python, which is:
2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
如下方法并不能解决问题
ln -s /usr/lib64/libcrypto.so.1.1/usr/lib/libcrypto.so.10
从os源安装低版本的openssl包,可恢复libssl库,但openssl版本仍然过低,无法安装最新版本的openssh7.5
rpm -ivh openssl-1.0.0-27.el6.x86_64.rpm
rpm -ivhopenssl-devel-1.0.0-27.el6.x86_64.rpm
四、■■升级openssh
www.openssh.com
下载相关源码【已下载,使用7.2版本】
■备份已有的ssh
mv /etc/ssh /etc/ssh.old
■卸载ssh
rpm -e `rpm -qa|grep openssh` --allmatches--nodeps
■配置、编译、安装ssh
tar xvfz openssh-7.5p1.tar.gz
cd openssh-7.5p1
./configure --prefix=/usr--sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib--with-md5-passwords
如果提示没有openssl头文件,则需安装openssl-devel开发包:yum install openssl-devel
如果提示openssl版本太低:OpenSSL>= 1.0.1 required,则需升级openssl
如果提示没有pam头文件:PAMheaders not found,则需安装PAM开发包:yuminstall pam-devel
make
make install
■配置进系统服务
cp contrib/redhat/sshd.init/etc/init.d/sshd
chkconfig --add sshd
■修改PAM配置
cp contrib/sshd.pam.generic /etc/pam.d/sshd
这里的lib需要修改为正确的路径,否则会在/var/log/secure里面看到无法找到lib的报错,导致pam无法生效!路径可参见/etc/pam.d/里面的su、rlogin等文件,将路径/lib/security/删掉即可。
■确认升级后的版本
ssh -V
■修改sshd配置
根据原sshd配置:/etc/ssh.old/sshd_config
修改新sshd配置:/etc/ssh/sshd_config
ssh端口号是否是22
#Port 22
是否允许root远程登陆
#PermitRootLogin yes
sshd默认没打开PAM支持
#UsePAM no
■重新启动sshd服务
service sshd restart
■验证可以远程ssh登陆以后,可以关闭telnet服务
service xinetd stop
■■其他可能的问题
■升级完成后ssh登录正常,sftp不能通过4A正常登录;
处理方法:
将/etc/ssh/sshd_config文件中的
# override default of no subsystems
Subsystem sftp /usr/local/openssh/libexec/sftp-server
修改为:
# override default of no subsystems
Subsystem sftp internal-sftp
#Subsystem sftp /usr/local/openssh/libexec/sftp-server
后重启ssh后,绕行堡垒机登录正常;
■通过堡垒机登录设备失败,提示“不能切换至"XXXXXXXXXXXXX"指定目录”;
处理方法:
修改/etc/ssh/sshd_config文件,添加
KexAlgorithms +diffie-hellman-group1-sha1
重启sshd服务后,通过堡垒机登录sftp正常。
- 升级openssh【linux平台】
- 升级openssh【aix平台】
- linux openssh 升级
- linux下升级openssh
- linux openssh升级步骤
- linux升级openssh
- [Linux] OpenSSH 升级
- Linux升级OpenSSH完整手册
- linux升级openssh-6.7p1
- Linux升级openssh及问题总结
- openssh升级
- openssh升级
- 升级 openssh
- openssh升级
- openssh升级过程
- 升级openSSH到最新版
- openssl&&openssh平滑升级
- CentOS 6.5 升级 openssh
- Oracle 行转列总结 Case When,Decode,PIVOT 三种方式
- iOS 网络请求的Url(音频视频的URL)本地存储
- 高通、阿里、联想上季度的财报都出了,猜猜谁增长最快?
- 一个简单基于UDP的回显C/S(一)
- AndroidStudio因为插件路径错误而无法保存设置的问题
- 升级openssh【linux平台】
- 手机端 rem 的使用
- 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter问题
- 点击微信内网页a标签,直接跳转打开淘宝APP的方法如此简单
- 各领域数据集
- 独家 | 成功创业者9点建议:编程技术?其实没那么重要!
- 算法导论16.2-2--动态规划(0-1背包问题)
- 【LeetCode解答七】Roman to Integer问题Java解答
- 报名 | 清华大学iCenter产业创新交流会