centos7升级openSSH(亲测可用)

centos7升级openSSH(修改版)

目录

 

一:查看版本和下载

    所有安装包下载地址:

         链接:https://pan.baidu.com/s/1INkUPgBCrv2Dx05PE5XVLA 
        提取码:i627

1.1所需安装包目录

所有服务器的openssh更新的都是统一的上传文件目录: /tools/openSSH,因为openSSH升级可能涉及到几台甚至几十台服务器,统一的路径便于同时多台服务器做升级操作及后期维护

1.2:查看系统openssh包

rpm -qa|grep openssh

1.3:查看版本

ssh  -V

1.4:下载地址

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

二:安装telnet

建议安装,如果你升级到一半,VPN突然掉了,或者网络断开,你就连不上xshell了,如果安装了telnet后,就是网络和VPN断开,也可以进行下一步操作

2.1:卸载telnet

为了避免在生产上安装openSSH失败,安装telnet

检查telnet是否安装

rpm -qa | grep telnet

没有安装,如果安装,请先卸载后重新安装

列如:

关闭telnet服务

systemctl disable xinetd.service

 systemctl stop xinetd.service

 systemctl disable telnet.socket

systemctl stop telnet.socket

执行卸载

rpm -e --nodeps telnet-0.17-47.el6.x86_64

    rpm -e --nodeps telnet-server-0.17-64.el7.x86_64

2.2:上传安装包

统一上传路径 /tools/telnet

2.3:安装

注意: 需要先安装xinetd,然后安装telnet客户端,再安装telnet服务端,不然可能会报错

cd  /tools/telnet

rpm -ivh xinetd-2.3.14-38.el6.x86_64.rpm

rpm -ivh telnet-0.17-47.el6.x86_64.rpm

rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm

2.4:启动服务

  systemctl start telnet.socket

   systemctl start xinetd

2.5:设置开机自启

3:设置xinetd开机自启

systemctl enable xinetd.service

4:设置telnet开机自启

systemctl enable telnet.socket

2.6:查看telnet服务是否启动

netstat -antupl | grep 23

cat /etc/services | grep -a 'telnet'

2.7:root用户登录测试

开放root用户的权限,编辑以下文件.注释掉这一行:auth       required     pam_securetty.so

vim /etc/pam.d/remote

然后关闭centos7防火墙

停止firewall

systemctl stop firewalld.service            

firewall开机启动

systemctl disable firewalld.service       

window测试

三:编译安装gcc

3.1:查看是否安装了gcc

gcc  -v

表示需要安装gcc

3.2:强制安装

进入安装目录  

cd  /tools/openSSH/gcc

rpm  -ivh  *.rpm --nodeps --force

3.3:查看是否安装成功

gcc -v

四:编译安装(升级openSSL)

4.1:下载

https://ftp.openssl.org/source/old/1.0.2/

查看当前版本

openssl  version

4.2:上传解压安装

1:解压

cd  /tools/openSSH

tar   -zxvf     openssl-1.0.2.tar.gz  -C /training/

2:编译安装

1:进入到安装目录

 cd /training/openssl-1.0.2/

2:编译安装

./config shared && make && make install

以上命令执行完毕,echo $?查看下最后的make install是否有报错,0表示没有问题

3:检测是否编译正确

echo $?

如果数字为0,则编译安装成功

4:备份后做软链接

1:先进行备份

   [root@gnc-4a-umap-03 openssl-1.0.2]# ll /usr/bin/openssl

   [root@gnc-4a-umap-03 openssl-1.0.2]#  mv /usr/bin/openssl /usr/bin/openssl_bak

2:软链接

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

 ll /usr/bin/openssl

4.3:相关配置及验证

1:加载新配置

[root@gnc-4a-umap-03 openssl-1.0.2]#  echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

[root@gnc-4a-umap-03 openssl-1.0.2]# /sbin/ldconfig

2:验证

openssl version

五:编译安装(openssl-devel;pam-devel;openSSH)

5.1:编译安装openssl-devel

在本地的centos镜像文件下的O:\Packages目录下,依次找到下列文件,然后进行上传

/tools/openSSH/openssl-devel

然后直接强制性安装

cd /tools/openSSH/openssl-devel

rpm  -ivh  *.rpm --nodeps --force

5.2编译安装pam-devel

1:在线安装

yum install openssl openssl-devel -y

2:离线安装

下载地址

http://rpmfind.net/linux/rpm2html/search.php?query=pam-devel(x86-64)

cd  /tools/openSSH

rpm   -ivh   pam-devel-1.1.8-23.el7.x86_64.rpm  --nodeps --force

5.3:编译安装openSSH

1:解压

cd /tools/openSSH

       tar -zxvf openssh-8.0p1.tar.gz -C /training/

2:编译安装

1:进入安装目录

cd /training/openssh-8.0p1/

2:执行编译安装命令

./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include \

 --with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam  && make && make install

3:查看是否安装成功

echo $?

4:授予权限(如果不授权,会启动ssh失败)

1:授予文件可写的权限

chmod 600 /etc/ssh/ssh_host_rsa_key

chmod 600 /etc/ssh/ssh_host_ecdsa_key

chmod 600 /etc/ssh/ssh_host_ed25519_key

2:授予权限后,再次编译安装

./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include \

 --with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam  && make && make install

六:编译安装openSSH和配置

6.1:配置root用户登录

修改配置文件

vim  /etc/ssh/sshd_config   

取消注释#PermitRootLogin yes,也就是说给root登录放行

6.2:开机自启,服务启动

下面的文件根据启动需要看是否拷贝,如果启动报sshd:未识别的服务,就需要拷贝下列文件

1:拷贝目录

进入到openSSH安装目录:  

cd  /training/openssh-8.0p1/

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

cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

chmod +x /etc/init.d/sshd

把原先的systemd管理的sshd文件删除或者移走或者删除,不移走的话影响我们重启sshd服务

 mv  /usr/lib/systemd/system/sshd.service  /training/

2:开机自启

chkconfig sshd on

3:加入系统服务

 chkconfig --add sshd

 systemctl enable sshd

七:启动服务测试

7.1:启停服务,查看端口

1:停止ssh服务

[root@gnc-4a-umap-03 openssh-8.0p1]#  /etc/init.d/sshd stop

2:查看端口

netstat -lntp

3:启动ssh服务

[root@gnc-4a-umap-03 openssh-8.0p1]# /etc/init.d/sshd start

4:再次查看端口

netstat -lntp

5:重启ssh服务

[root@gnc-4a-umap-03 openssh-8.0p1]# /etc/init.d/sshd restart

7.2:重启虚拟机,连接xshell测试(查看版本)

生产环境,不要擅自重启虚拟机

查看版本

[root@gnc-4a-umap-03 openssh-8.0p1]# ssh -V

OpenSSH_8.0p1, OpenSSL 1.0.2 22 Jan 2015

已经升级成功了

7.3:关闭telnet服务

ssh升级成功后,telnet就用不上了,这时可以将其服务关闭,恢复原始状态

systemctl disable xinetd.service

systemctl stop xinetd.service

systemctl disable telnet.socket

systemctl stop telnet.socket

然后卸载掉

rpm -qa | grep telnet

       rpm -qa | grep xinetd

 rpm -e --nodeps telnet-server-0.17-64.el7.x86_64

rpm -e --nodeps xinetd-2.3.14-38.el6.x86_64

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值