最全CentOS7升级OpenSSH方案

在进级openssh的过程中碰到过很多多少坑,这里清算一篇最周全最平安的进级openssh的方案,供大师参考。

东西/原料

  • CentOS7
  • openssl-1.0.2o.tar.gz
  • openssh-7.7p1.tar.gz

安装启动telnet

  1. 1

    需要筹办的包

    :openssl-1.0.2o.tar.gz , openssh-7.7p1.tar.gz

    :pam-1.1.8-22.el7.x86_64.rpm   , pam-devel-1.1.8-22.el7.x86_64.rpm

    :zlib-1.2.7-17.el7.x86_64.rpm , zlib-devel-1.2.7-17.el7.x86_64.rpm

    :telnet-0.17-64.el7.x86_64.rpm , telnet-server-0.17-64.el7.x86_64.rpm

    :openssl-1.0.2k-12.el7.x86_64.rpm (需要这个低版本的rpm包是因为若是卸载openssl后如遇无法执行后续操作时,可以再次安装openssl,不至于造当作系统无法利用)

    这些依靠包可以百度搜刮下载,也可以经由过程yumdownload 东西来下载。

    如图:

  2. 2

    进级openssh,先要开启telnet,确保telnet可以正常登岸。

    如许当openssh进级呈现问题的时辰,还可以经由过程telnet登录到办事器操作。

    安装依靠包pam,pam-devel,zlib,zlib-devel,telnet,telnet-server

    起首安装pam的包。先查看是否有pam已经安装。执行

    #rpm  -qa |grep pam

  3. 3

    办事器上面有pam的包。

    采用rpm -U进级安装,省得rpm -e  --nodeps卸载包呈现问题。

    (并且真有可能呈现问题,尤其是zlib包)

    执行

    #rpm  -Uvh  pam-1.1.8-22.el7.x86_64.rpm

    #rpm -Uvh  pam-devel-1.1.8-22.el7.x86_64.rpm

  4. 4

    安装xinted

    #rpm  -Uvh  xinetd-2.3.15-13.el7.x86_64.rpm

  5. 5

    安装zlib

    #rpm  -Uvh  zlib-1.2.7-17.el7.x86_64.rpm

    #rpm  -Uvh  zlib-devel-1.2.7-17.el7.x86_64.rpm

  6. 6

    安装telnet

    #rpm  -Uvh   telnet-0.17-64.el7.x86_64.rpm

    #rpm  -Uvh   telnet-server-0.17-64.el7.x86_64.rpm

  7. 7

    开启xinetd

    #systemctl   start  xinetd

    查看状况

    #systemctl   status  xinetd

    #systemctl  enable  xinetd

  8. 8

    启动telnet

    # systemctl start telnet.socket

    # systemctl status telnet.socket

    # systemctl enable telnet.socket

  9. 9

    默认环境下,telnet是不许可root登录的。

    执行号令:

    # echo "pts/0" >> /etc/securetty

    # echo "pts/1" >> /etc/securetty

  10. 10

    封闭selinux

    #vi /etc/selinux/config

    如下图将selinux设置为disable

  11. 11

    封闭防火墙

    # systemctl stop  iptables

    编纂pam设置装备摆设文件,以便telnet许可root登录。

    # vi /etc/pam.d/login

  12. 12

    如图注释这一行

    auth       required     pam_securetty.so

  13. 13

    重启xinetd,telnet办事

    #systemctl  restart  xinetd

    #systemctl  restart  telnet.socket

    然后从其他办事器操纵telnet测试登录(当然别的一台办事器上已经安装了telnet)

    #telnet  ip

    输入账号暗码,登录当作功。

    telnet可以登录,现实上是开了别的一条可以登录办事器的通道,以免ssh进级犯错,造当作无法登录办事器。

进级openssl

  1. 1

    先确保你的办事器上已经有gcc,gcc-c++。这两个是编译东西。

    #rpm  -qa  |grep  gcc

    没有安装。

    则执行安装,这里我已经下载了gcc,gcc-c++的包。

    若是你的办事器联网,可以执行:

    #yum  install  gcc  gcc-c++

    若是没有联网,就提前下载rpm包,可以采纳上面yumdownload方式从联网办事器上下载。

    建议yum安装,不然你将要下载良多依靠包。

  2. 2

    上图,是为了安装gcc,gcc-c++,下载的所有依靠包。

    因为一起头安装的时辰,会返回下图依靠错误。

    然后按照依靠错误,下载了所有的依靠包。

  3. 3

    如下图如许,彼此依靠的。

    安装这个,返回依靠错误(已安装的版本纷歧致造当作),安装阿谁就返回这个依靠错误。

    如许的,直接rpm -Uvh 后面跟这两个安装包的名字。

  4. 4

    卸载旧的openssl包。

    #rpm  -qa  |grep openssl

  5. 5

    解压openssl安装包

    #tar  -xvf  openssl-1.0.2o.tar.gz

    卸载这些包。

    #for  i   in  $(rpm  -qa |grep  openssl);do  rpm  -e  $i --nodeps  ;done

    进入openssl-1.0.2o目次

    #cd   openssl-1.0.2o

    执行:

    #./config  shared

  6. 6

    执行安装

    #make  &&  make   install

  7. 7

    安装完毕。

    执行号令:

    #echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

    #ldconfig

    设置装备摆设ssl库

    #cp /usr/local/ssl/lib/libssl.so.1.0.0  /usr/lib64

    #cp /usr/local/ssl/lib/libcrypto.so.1.0.0  /usr/lib64

    #ln -s /usr/lib64/libcrypto.so.1.0.0  /usr/lib64/libcrypto.so.10

    #ln -s /usr/lib64/libcrypto.so.1.0.0  /usr/lib64/libcrypto.so

    #ln -s /usr/lib64/libssl.so.1.0.0  /usr/lib64/libssl.so.10

    #ln -s /usr/lib64/libssl.so.1.0.0  /usr/lib64/libssl.so

    #ln -s /usr/local/ssl/bin/openssl  /usr/bin/openssl

    #ln -s /usr/local/ssl/include/openssl   /usr/include/openssl

    查看openssl版本

    #openssl  version  -a

    进级当作功

进级openssh

  1. 1

    解压openssh安装包

    #tar  xvf   openssh-7.7p1.tar.gz

    #cd  openssh-7.7p1

    卸载原openssh

    #rpm  -qa |grep  openssh

  2. 2

    卸载

    #for  i   in  $(rpm  -qa  |grep  openssh);do  rpm  -e  $i  --nodeps ;done

  3. 3

    执行:

    #./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords--with-pam --with-tcp-wrappers  --with-ssl-dir=/usr/local/ssl    --without-hardening

  4. 4

    删除原ssh设置装备摆设目次

    #rm  -rf  /etc/ssh

    安装

    #make   &&   make  install

  5. 5

    安装完当作,执行设置装备摆设

    #cp  ./contrib/redhat/sshd.init    /etc/init.d/sshd

    #chkconfig --add sshd

    #chkconfig sshd on

    #chkconfig --list|grep sshd

  6. 6

    查看版本

    #ssh  -V

  7. 7

    执行号令:

    #sed -i "32 aPermitRootLogin yes" /etc/ssh/sshd_config

    #service  sshd  restart

    进级完当作。

    从其他办事器ssh登录进级的办事器,登录当作功!

注重事项

  • 不要等闲卸载zlib软件
  • 发表于 2018-07-17 00:00
  • 阅读 ( 782 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具