centos7升级OpenSSH(源码编译升级)

升级前首先确定当前openssh、openssl、zlib的版本,查看版本操作如下:

[[email protected] ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
[[email protected] ~]# rpm -q zlib
zlib-1.2.7-17.el7.x86_64

由此可以看到当前openssh版本为:7.4p1,openssl版本为:1.02k-fips,zlib

版本为1.2.7。

到相应的官网下载最新版本

OpenSSH:https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

OpenSSL: https://www.openssl.org/source/

zlib: https://www.openssl.org/source/

为避免升级过程出现错误导致sshd服务挂掉,可以先安装telnet服务或者在机房方便处理故障。

OpenSSL升级方法参考我的另一篇文章https://blog.51cto.com/mading/2161246

注意:升级前请确认已安装gcc编译环境,关闭selinux,升级前做好备份。

zlib升级

卸载老版本zlib

[[email protected] ~]# rpm -e  --nodeps  zlib

解压编译

[[email protected] ~]# tar -zxvf zlib-1.2.11.tar.gz
[[email protected] ~]# cd zlib-1.2.11/
[[email protected] zlib-1.2.11]# ./configure --prefix=/usr/local/zlib
[[email protected] zlib-1.2.11]# make test
[[email protected] zlib-1.2.11]#make install 

构建共享库

[[email protected] zlib-1.2.11]#make clean
[[email protected] zlib-1.2.11]#./configure --shared
[[email protected] zlib-1.2.11]#make test
[[email protected] zlib-1.2.11]#make install 

OpenSSH升级

卸载老版本openssh

[[email protected] ~]# rpm -e  --nodeps  openssh

解压编译

[[email protected] ~]# tar -zxvf openssh-8.0p1.tar.gz
[[email protected] openssh-8.0p1]#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-privsep=path=/var/lib/sshd
*注意:--with-zlib --with-ssl-dir的路径为编译安装openssl的路径*
[[email protected] openssh-8.0p1]#make && make install 

编译过程中可能会出现各种各样的错误,根据提示的错误信息找相应的解决办法,这里不做具体说明。
编译完成后查看是否安装成功

[[email protected] openssh-8.0p1]# ssh -V
OpenSSH_8.0p1, OpenSSL 1.1.0k  28 May 2019

配置

[[email protected] openssh-8.0p1]# install -v -m755 contrib/ssh-copy-id /usr/bin/
"contrib/ssh-copy-id" -> "/usr/bin/ssh-copy-id"
[[email protected] openssh-8.0p1]# install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
"contrib/ssh-copy-id.1" -> "/usr/share/man/man1/ssh-copy-id.1"
[[email protected] openssh-8.0p1]# install -v -m755 -d /usr/share/doc/openssh-8.0p1*注意:openssh-8.0p1根据具体的openssh版本号填写*
install: 正在创建目录"/usr/share/doc/openssh-8.0p1"
[[email protected] openssh-8.0p1]# install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-8.0p1
"INSTALL" -> "/usr/share/doc/openssh-8.0p1/INSTALL"
"LICENCE" -> "/usr/share/doc/openssh-8.0p1/LICENCE"
"OVERVIEW" -> "/usr/share/doc/openssh-8.0p1/OVERVIEW"
"README" -> "/usr/share/doc/openssh-8.0p1/README"
"README.dns" -> "/usr/share/doc/openssh-8.0p1/README.dns"
"README.md" -> "/usr/share/doc/openssh-8.0p1/README.md"
"README.platform" -> "/usr/share/doc/openssh-8.0p1/README.platform"
"README.privsep" -> "/usr/share/doc/openssh-8.0p1/README.privsep"
"README.tun" -> "/usr/share/doc/openssh-8.0p1/README.tun"

默认端口为22,root默认不能远程登录,在/etc/ssh/sshd_config里面添加"PermitRootLogin yes"

[[email protected] openssh-8.0p1]# vim /etc/ssh/sshd_config

配置sshd开机自启

[[email protected] openssh-8.0p1]# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
[[email protected] openssh-8.0p1]# chmod a+x /etc/init.d/sshd
[[email protected] openssh-8.0p1]# chkconfig --add sshd
[[email protected] openssh-8.0p1]# chkconfig sshd on

原文地址:https://blog.51cto.com/mading/2433735

时间: 2024-08-18 19:36:29

centos7升级OpenSSH(源码编译升级)的相关文章

CentOS6.6源码编译升级GCC至4.8.2

升级前提 源码编译需要至少要有一个可用的gcc编译器. 可以用过yum自动安装或者手动下载rpm包安装. 通过yum可以看到至少需要下面这些安装包,所以可以到许多rpm package站点中搜索下载相应的rpm包,不过版本要搞对了,这个yum搜出来的版本是针对4.4.7的.所以需要什么版本gcc就寻找什么版本对应的依赖包.现在的rpm站点都会说明这个软件包依赖哪些软件包,被哪些软件包依赖,非常方便,不过找起来还是比较耗时的. 编译安装GCC4.8.2 下载gcc4.8.2源码包 1 curl -

AIX6.1上源码编译升级openssh6.6p1

最近因为绿盟扫描到AIX5.3 AIX6.1系统有openssh高危漏洞,OPENSSH6.4之前的都报高危漏洞,IBM官网上也只有最新的openssh6.0安装文件供下载,没办法只有自己试验的用源码来安装升级,期间各种报错,搞了差不多一周的时间,才顺利的安装的把openssh版本升上去了.以下是安装步骤 1,修改/etc/profile文件 cp -p /etc/profile /etc/profile_bak /etc/profile文件添加 export LIBPATH=/opt/free

源码编译升级内核

最近在弄操作系统,把很久之前应该记录的东西重新捡起来,写出来,以备查用.不论什么东西,时间长了不用都可能会忘掉. 不扯了,进入主题 1. 下载源码 https://www.kernel.org/pub/linux/kernel/v3.x/ 2. 解压 tar zxvf linux-3.8.8.tar.gz 3. 进入解压的目录 cd /usr/src/linux-3.8.8 以下命令都使用sudo权限 4. 生成配置文件 make oldconfigure 5. 编译(需要很长时间) make

OpenSSH源码编译安装

一.     基础环境准备 操作系统:Ubuntu16.04Server 先sudo apt-get install vim openssh-server,便于后续上传源码以及调试. 看一下现在openssh的版本: [email protected]:~$ ssh -V OpenSSH_7.2p2 Ubuntu-4ubuntu2.6, OpenSSL 1.0.2g  1 Mar 2016 安装编译所需要的库: [email protected]:~$ sudo apt-get install

Ubuntu下升级git版本(源码编译安装git)

Ubuntu自带的git是1.7的版本的,太旧了,所以想升级下,git官网上没有提供现成的安装包,所以只能源码编译了. linux上源码编译安装Git拢共分两步: 第一步,安装编译git的依赖包 第二步,下载源码,编译安装git 安装git的安装包: 在apt-get的系统上: sudo apt-get install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettex-devel 在yum的系统上: yum

基于源码编译安装openssh

 最近的,openssl/openssh等相继漏洞的暴露,让暴露在公网的linux.沦陷为肉鸡的正营... 没办法,还是升级版本... 00.openssh简介 OpenSSH 是一组安全远程的连接工具,主要包括了几个部份:ssh.sshd.scp.sftp.ssh-keygen.ssh-agent.ssh-add等 ssh(SSH 客户端,用于登录建立连接,是 rlogin 与 Telnet的安全替代方案)sshd (SSH 服务端,典型的独立守护进程)scp.sftp (文件安全传输工具,r

基于TCP网络通信的自动升级程序源码分析-客户端请求服务器上的升级信息

每次升级,客户端都会获取服务器端存放在upgradefile文件夹下的需要升级的文件和升级信息配置文件(即upgradeconfig.xml文件) 我们来看一下代码 //升级信息配置文件相对应的类 ( 升级信息配置文件是由这个类转化成的) private UpgradeConfig upgradeConfig = null; //客户端存储升级配置文件的地址 是放在客户端根目录下的 (就是把服务器 upgradefile/upgradeconfig.xml下载到客户端存放的位置) string

基于TCP网络通信的自动升级程序源码分析-启动升级文件下载程序

升级程序启动后,首先会连接服务器 private void Connect() { try { int port = int.Parse(System.Configuration.ConfigurationManager.AppSettings["Port"]); connnectionInfo = new ConnectionInfo(IPAddress, port); connection = TCPConnection.GetConnection(connnectionInfo)

基于TCP网络通信的自动升级程序源码分析-客户端接收文件

升级程序客户端接收文件 /// <summary> /// 文件数据缓存 索引是 ConnectionInfo对象 数据包的顺序号 值是数据 /// </summary> Dictionary<ConnectionInfo, Dictionary<long, byte[]>> incomingDataCache = new Dictionary<ConnectionInfo, Dictionary<long, byte[]>>();