OpenSSH is the premier connectivity tool for remote login with the SSH protocol. It encrypts all traffic to eliminate eavesdropping, connection hijacking, and other attacks. In addition, OpenSSH provides a large suite of secure tunneling capabilities, several authentication methods, and sophisticated configuration options.

The OpenSSH suite consists of the following tools:


01、下载

http://www.openssh.com/    ###官网

openssh-7.4p1.tar.gz点击下载

openssh-7.4p1.tar.gz:http://pan.baidu.com/s/1c1RUbeS

02、OpenSSH安装前准备工作

yum install -y zlib-devel gcc gcc-c++  openssl-devel  #openssl也是有漏洞的,建议也升级下openssl

03、卸载旧版本openssh

[root@lab- tmp]# rpm -qa |grep openssh
openssh-.3p1-.el6.x86_64
openssh-askpass-.3p1-.el6.x86_64
openssh-clients-.3p1-.el6.x86_64
openssh-server-.3p1-.el6.x86_64

移除openssh

[root@lab- tmp]# rpm -e openssh-5.3p1-94.el6 openssh-askpass-5.3p1-94.el6 openssh-clients-5.3p1-94.el6  openssh-server-5.3p1-94.el6
--nodeps

warning: /etc/ssh/sshd_config saved as /etc/ssh/sshd_config.rpmsave

删除遗留垃圾文件

rm -rf  /etc/ssh/*        #前提没有重大的配置变化,有的话建议备份下

04、编译安装

tar zxvf openssh-7.4p1.tar.gz

cd openssh-7.1

./configure --prefix=/usr   --sysconfdir=/etc/ssh

make &&  make install

05、修改配置及启动脚本

vim  /etc/ssh/sshd_config

PermitRootLogin yes  #开放root远程登录认证,默认是不允许的

修改sshd

openssh-7.4p1\contrib\redhat\sshd.init   #根据发行版本取不同的脚本

/etc/initd/sshd

#!/bin/bash
#
# Init file for OpenSSH server daemon
#
# chkconfig:
# description: OpenSSH server daemon
#
# processname: sshd
# config: /etc/ssh/ssh_host_key
# config: /etc/ssh/ssh_host_key.pub
# config: /etc/ssh/ssh_random_seed
# config: /etc/ssh/sshd_config
# pidfile: /var/run/sshd.pid # source function library
. /etc/rc.d/init.d/functions # pull in sysconfig settings
[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd RETVAL=
prog="sshd" # Some functions to make the below more readable
SSHD=/usr/sbin/sshd #注意路径对不
PID_FILE=/var/run/sshd.pid do_restart_sanity_check()
{
$SSHD -t
RETVAL=$?
if [ $RETVAL -ne ]; then
failure $"Configuration file or keys are invalid"
echo
fi
} start()
{
# Create keys if necessary
/usr/bin/ssh-keygen -A #注意根据实际情况调整
if [ -x /sbin/restorecon ]; then
/sbin/restorecon /etc/ssh/ssh_host_key.pub  #根据实际情况调整
/sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub
/sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub
/sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub
fi echo -n $"Starting $prog:"
$SSHD $OPTIONS && success || failure
RETVAL=$?
[ $RETVAL -eq ] && touch /var/lock/subsys/sshd
echo
} stop()
{
echo -n $"Stopping $prog:"
killproc $SSHD -TERM
RETVAL=$?
[ $RETVAL -eq ] && rm -f /var/lock/subsys/sshd
echo
} reload()
{
echo -n $"Reloading $prog:"
killproc $SSHD -HUP
RETVAL=$?
echo
} case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
condrestart)
if [ -f /var/lock/subsys/sshd ] ; then
do_restart_sanity_check
if [ $RETVAL -eq ] ; then
stop
# avoid race
sleep
start
fi
fi
;;
status)
status $SSHD
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=
esac
exit $RETVAL

chmod +x /etc/init.d/sshd

重启sshd服务

service sshd restart    #注意可能,当前在线的ssh终端会掉线,不过重新在连接就OK了

chkconfig  sshd on   #添加到开机启动项中

06、报错解决

安装报错信息解决方法:

configure: error: in `/usr/src/openssh-7.4p1':

configure: error: no acceptable C compiler found in $PATH

安装gcc编译器: yum install -y gcc

configure: error: *** zlib.h missing - please install first or check config.log ***

安装相关依赖包: yum -y install openssl openssl-devel         #基本不升级openssl模式下编译openssh

查看OpenSSH版本号: ssh -V

OpenSSH_7.4p1, OpenSSL 1.0.1e-fips 11 Feb 2013


openssh不同版本的影响差异:https://sanwen8.cn/p/1f38HVm.html

openssh版本的命令:http://www.cnblogs.com/xiaochina/p/6280368.html

升级openssh基于openssl的更多相关文章

  1. 升级OPENSSH 和 OPENSSL

    升级OPENSSH 和 OPENSSL   首先安装telnet服务,防止在操作过程中导致ssh远程中断   # 安装Telnetyum install telnet-server -y chkcon ...

  2. Centos6.5升级openssh、OpenSSL和wget

    1.OpenSSL 1.1.查看版本 使用如下命令查看版本: openssl version 1.2.安装gcc依赖 yum -y install gcc gcc-c++ 1.3.安装配置 ./con ...

  3. [服务器安全]升级OpenSSH,OpenSSL,vsftp,关闭NTP服务

    公司的旧版直播服务器使用的是CentOS 6.7,很多软件包都是几年前的了.最近很多安全相关的新闻充斥着IT圈,先是Intel芯片有重大安全漏洞,后面MacOS爆安全漏洞.所以,对于安全问题还真不能小 ...

  4. linux升级openssh到7.9

    客户linux主机ssh存在高危漏洞,需要进行升级修复. linux联网后,直接命令行: [root@gw ~]# yum update openssl -y 此命令只是小版本的升级,比如将opens ...

  5. centos6升级openssh至7.9

    1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /root/ssh_updateyum install -y telnet-serveryum install -y xinetd ...

  6. CentOS6、7升级Openssh至7.9

    出于安全考虑,定期使用Nessus对服务器进行扫描,最新Nessus提示服务器的SSH版本有漏洞,所以把SSH升级到最新版本 1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /ro ...

  7. redhat6.4升级openssh至6.7

    1:简介 最近浙江电信对线上服务器进行漏洞扫描,暴露出原有的openssh有漏洞,建议升级openssh版本: 2:操作环境 Red Hat Enterprise Linux Server relea ...

  8. 升级OpenSSH详细步骤

    由于系统扫描到OpenSSH版本太低,所以需要将其升级到高版本.网上搜罗数个文章,都多多少少有点疏漏.加上自己之前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了不少劲儿.所以综合一下前辈们 ...

  9. centos升级openssh的两种方式

    此文介绍的是服务器在有网络和无网络情况下升级openssh方式. 一.首先介绍一个无网络如何升级: 1.准备相关的包 openssh下载地址:  http://mirror.internode.on. ...

随机推荐

  1. Android中高亮变色显示文本中的关键字

    应该是好久没有写有关技术类的文章了,前天还有人在群里问我,说群主很长时间没有分享干货了,今天分享一篇Android中TextView在大段的文字内容中如何让关键字高亮变色的文章 ,希望对大家有所帮助, ...

  2. EF实体框架处理实体之间关联关系与EF延迟机制(下)

    在数据库中,表与表之间可能存在多种联系,比如,一对多,多对多的关系.当我们使用逻辑外键在数据库建立两张表之间的关系的时候,我们使用EF实体框架 必然也会将这种关系映射到我们的实体关系中来.所以,在我们 ...

  3. Android图片加载框架最全解析(五),Glide强大的图片变换功能

    大家好,又到了学习Glide的时间了.前段时间由于项目开发紧张,再加上后来又生病了,所以停更了一个月,不过现在终于又可以恢复正常更新了.今天是这个系列的第五篇文章,在前面四篇文章的当中,我们已经学习了 ...

  4. SpiderMonkey的使用

    基于 C 语言的 JavaScript 引擎探索 http://www.ibm.com/developerworks/cn/linux/l-cn-spidermonkey/ https://devel ...

  5. mysqld_safe脚本执行的基本流程

    mysqld_safe脚本执行的基本流程:1.查找basedir和ledir.2.查找datadir和my.cnf.3.对my.cnf做一些检查,具体检查哪些选项请看附件中的注释.4.解析my.cnf ...

  6. OTL翻译(3) -- OTL的主要类

    相比于传统的C++类库而言,OTL更像是一个代码容器,里面复杂,但对外的接口简单.OTL在处理程序方面受到了STL的影响. OTL有一个模板框架,它实现了otl_stream的概念.该框架由模板类和内 ...

  7. 第四章 JVM垃圾回收算法

    说明:在阅读本篇之前,需要知道怎么判断对象的存活与否,见<第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程> 注意:本文主要参考自<分布式Java应用:基础与实践& ...

  8. Cesium随笔(2)加载天地图地图服务【转】

    Cesium自带的图层是bing地图和esri,mapbox等图层,木有中文注记,想加载中文注记的图层?废话不说,上代码: var viewer = new Cesium.Viewer('cesium ...

  9. js中replace的用法

    replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也 ...

  10. 【华为OJ平台练习题】求最大公共子串的个数和元素

    1.原题是求出最大公共子串的个数就可以 原理:利用二维矩阵排列的方式.将俩字符串进行比較 #include <iostream> #include <vector> using ...