环境:Ubuntu 14.04.2

目的:openssh版本6.6升级为openssh7.9

准备以下3个包

http://www.zlib.net/

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

http://www.openssh.com/portable.html

避免升级出现错误导致ssh服务挂掉,会导致一系列的麻烦事,所以提前安装telnet服务

apt-get install openbsd-inetd telnetd telnet
/etc/init.d/openbsd-inetd restart # 启动服务
netstat -anpt|grep 23 # 查看telnet服务的默认端口是否启动
telnet ip # 测试是否成功登陆

此处可能会遇到:安装telnet 后,root登录时总是提示 login incorrect

vim /etc/pam.d/login 注释文件中的32行即可

上传zlib源码到服务器的任意目录,并解压
tar xf zlib-1.2.11.tar.gz
./configure    --prefix=/usr/local/zlib
make && make  install

更新动态链接数据库

 echo "/usr/local/zlib/lib" >> /etc/ld.so.conf
ldconfig -v

 编译安装openssl

tar xf openssl-1.1.0k.tar.gz
./config shared && make && make install
ln -s /usr/local/bin/openssl /usr/bin/openssl (注意此处软链接需要按住实际路径)
ln -s /usr/local/include/openssl /usr/include/openssl(注意此处软链接需要按住实际路径)
echo "/usr/local/ssl/lib" > /etc/ld.so.conf.d/openssl.conf
ldconfig -v

查询openssl版本号

编译安装openssh

tar xf openssh-7.9p1.tar.gz
mv /etc/ssh /etc/ssh_bak (备份该目录)
mv /etc/init.d/ssh /etc/init.d/ssh_bak (备份该目录)
cd openssh-7.9p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local --with-privsep-path=/var/lib/sshd
make && make install

 执行ssh -V验证是否升级成功

拷贝源文件目录中的sshd.init

 cp -p contrib/redhat/sshd.init /etc/init.d/sshd

vim /etc/ssh/sshd_config  修改配置中的以下参数,使之和原来配置信息保持一致

Port 22
#PermitRootLogin prohibit-password
PermitRootLogin yes
ln -s /lib/lsb/init-functions /etc/rc.d/init.d/functions

重启service sshd restart,此处可以看到一个command not found的报错,经过验证该报错不影响ssh服务启动,暂时没找到原因,经验证ubuntu 16.04 及以上版本系统中没有此问题。猜测是/etc/init.d/sshd配置文件中某个参数不对

执行以下命令查询ssh服务是否正常启动

ps -ef | grep ssh

netstat -lnutp|grep sshd

加入开机启动项ubuntu中chkconfig已经被sysv-rc-conf替代

 sysv-rc-conf sshd on

执行sysv-rc-conf --list|grep sshd命令验证是否加入成功

Ubuntu 14.04.2升级openssh7.9的更多相关文章

  1. Ubuntu 14.04怎样升级到Ubuntu 14.10

    Ubuntu 14.04怎样升级到Ubuntu 14.10     Ubuntu 14.10 Utopic Unicorn 将在10月23日正式发布,9月25日最终测试版本已经发布,Ubuntu 14 ...

  2. Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0

    由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...

  3. 从Ubuntu 14.04 LTS版升级到Ubuntu 16.04 LTS

      Ubuntu 16.04 (Xerial Xerus) Long Term Support版于最近发布了.要想了解它的新功能和新特性,就必须升级或安装这个新系统. 本文讲述怎样一步步从Ubuntu ...

  4. Ubuntu 14.04 升级到 Ubuntu16.04

    Ubuntu 14.04 升级到 Ubuntu16.04 1). 更改source.list 源 (24条消息) Ubuntu16.04 source.list更改源_dylan的博客-CSDN博客_ ...

  5. ubuntu 14.04 与 CentOS 升级GCC/G++至5版本

    # 支持 ubuntu 14.04 add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update apt-get i ...

  6. 在Ubuntu 14.04安装和使用Docker

    Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...

  7. [转]在Ubuntu 14.04安装和使用Docker

    在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...

  8. Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  9. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

随机推荐

  1. ThreadLocal源代码3

    public class ThreadLocal1<T> { //当创建了一个 ThreadLocal 的实例后,它的散列值就已经确定了, //threadLocal实例的hashCode ...

  2. Java 中成员变量被局部变量所隐藏

    Java 中局部变量与成员变量同名时,局部变量会隐藏成员变量.如果我们想访问成员变量,可以使用 this 关键字. class Test { private int value = 10; void ...

  3. Windows下安装gcc环境

    安装GCC环境 https://gcc.gnu.org/ 点进去后 然后 然后 点击 再点击 点击 (啊,这是跳了多少个页面) 开始下载了.完成之后打开:(自动执行的) 弹出 点击OK,弹出个窗口,让 ...

  4. 19 SpringMVC 拦截器

    1. 拦截器的概述(1)SpringMVC框架中的拦截器用于对处理器进行预处理和后处理的技术.(2)可以定义拦截器链,连接器链就是将拦截器按着一定的顺序结成一条链,在访问被拦截的方法时,拦截器链 中的 ...

  5. Vue框架(四)——路由跳转、路由传参、cookies、axios、跨域问题、element-ui模块

    路由跳转 三种方式: $router.push / $router.go / router-link to this.$router.push('/course'); this.$router.pus ...

  6. 【LEETCODE】69、动态规划,easy,medium级别,题目:198、139、221

    package y2019.Algorithm.dynamicprogramming.easy; /** * @ProjectName: cutter-point * @Package: y2019. ...

  7. F1 相似查找字段存在的table

    REPORT ZME12_BDC1. *REPORT demo_select_dynamic_conditions . TABLES: makt,dd02t,marc. TYPE-POOLS : AB ...

  8. yii2 AppAsset.php 和 assetManager 组件

    01) 背景:Yii2中使用了 AdminLTE 3.0.0  后框架自带的bootstrap.css 与 admin样式有冲突,需要去掉 bootstrap.css 在 backend/config ...

  9. Window中C++进行精确计时的方法

    嗯,程序员一个永恒的追求就是性能吧? 为了衡量性能,自然需要计时. 奈何无论C标准库还是C++标准库,因为通用性的考虑,其time API精度都不高.基本都是毫秒级的. 所以如果要真正精确地衡量程序的 ...

  10. C#JsonConvert.DeserializeObject反序列化json字符

    需求:需要把第一个id替换掉,在序列化成json dynamic dyn = Newtonsoft.Json.JsonConvert.DeserializeObject(json); foreach ...