Linux Centos7升级openssh

Ella ·
更新时间:2024-09-22
· 757 次阅读

升级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升级完毕
作者:-Ares



Linux openssh centos

需要 登录 后方可回复, 如果你还没有账号请 注册新账号