Linux Centos7升级openssh

升级openssh

准备工作

查看是否有 glibc-devel 、gcc 、gcc-c++、 zlib-devel

glibc-devel

  • 64bit:strings /lib64/libc.so.6 |grep GLIBC
  • 32bit:strings /lib/libc.so.6 |grep GLIBC

gcc

  • gcc -v

gcc-c++

  • g++ -v

zlib-devel

  • rpm -qa |grep zlib

这里需要注意一下的就是,输入上面这行命令后应该会出现两个zlib
一个是zlib,另一个则是zlib-devel
如果没有zlib-devel,只有zlib
请下载版本相同的zlib和zlib-devel rpm包,
进行同时安装,命令如下:
rpm -Uvh ./*.rpm

不用卸载之前的zlib包,安装完成后,之前的包会自动移除

准备包

  • openssh-7.8p1.tar.gz
  • openssl-1.0.2h.tar.gz

版本自行选择,但是注意 openssh 对应的 openssl
还有就是一定要先升级 openssl

步骤一:升级openssl

卸载旧版本的openssl包

  • 查看openssl包 rpm -qa|grep openssl
  • 卸载openssl包 rpm -e --nodeps (包名)

解压openssl包

  • tar -zxvf openssl-1.0.2h.tar.gz

进入解压路径:

  • cd openssl-1.0.2h

安装编译openssl:

  • ./config --prefix=/usr --shared && make && make install

创建软链接:

  • ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
  • ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10

验证版本信息

  • openssl version -a

到此openssl升级完毕

步骤二:升级openssh

备份ssh文件 /etc/ssh

  • cp -r /etc/ssh/ /opt/mypackage/ssh-bf(后面这个目录自行创建)

解压openssh包

  • tar -zxvf openssh-7.8p1.tar.gz

进入解压路径

  • cd openssh-7.8p1

安装编译

  • ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords
  • make && make install
    (–with-zlib --with-md5-passwords)为将密码md5加密,是否需要自己选择

配置(使用root登录)

  • echo “PermitRootLogin yes” >> /etc/ssh/sshd_config

复制启动脚本:

  • cp -p contrib/redhat/sshd.init /etc/init.d/sshd (复制)
  • chmod +x /etc/init.d/sshd (添加执行权限)
  • chkconfig --add sshd (添加sshd服务)

设置开机启动:

  • chkconfig sshd on
  • chkconfig --list sshd

查看服务是否设定为开机自启

  • systemctl list-unit-files
    (ps:命令执行后,会出现两列,左边是服务名称,右边是状态,enabled是开机启动,disabled
    是开机不启动 找到sshd.service)

验证版本信息:

  • ssh -V

升级重点注意事项,不注意会使ssh远程工具无法连接

1.升级过后可能会因etc/ssh/ssh_host_ecdsa_key文件的权限过大 ,导致ssh工具连接不上

处理方法:
https://blog.csdn.net/peaktravel/article/details/85529927

2.在安装编译过程中,/etc/sysconfig/selinux 文件中selinux 状态可能会变为 enabled 需改为disable

查看状态命令 /usr/sbin/sestatus -v
临时关闭命令 setenforce 0
永久关闭需更改配置文件中的selinux
vim /etc/sysconfig/selinux
SElinux = disable

3.步骤二在编译过后可能会出现/etc/ssh/sshd_config 文件为空的这种情况,需手动添加以下几行

Port =22
Protocol 2

PermitRootLogin yes
PermitEmptyPasswords yes
PasswordAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

finally 重启ssh服务

  • service sshd restart 或者 systemctl restart sshd

到此openssh升级完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值