当前位置:网站首页>OpenSSH的升级、版本号的修改
OpenSSH的升级、版本号的修改
2022-04-23 14:10:00 【小灰墩墩】
升级OpenSSH
系统版本:
[root@centos7 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
1、升级OpenSSH前,最好开启系统上的Telnet服务,通过Telnet连接系统进行升级操作。以防OpenSSH升级出现问题而连接不上系统。
2、备份/etc/ssh
[root@centos7 ~]# cp -rp /etc/ssh /etc/ssh.bak
3、安装必要的软件
[root@centos7 ~]# yum install gcc zlib zlib-devel openssl-devel
4、查看当前OpenSSH版本
[root@centos7 ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
[root@centos7 ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
5、下载OpenSSH新版本
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
[root@centos7 ~]# curl -O https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
6、编译
[root@centos7 ~]# tar xvf openssh-8.6p1.tar.gz
[root@centos7 ~]# cd openssh-8.6p1/
[root@centos7 openssh-8.6p1]# ./configure
[root@centos7 openssh-8.6p1]# make && make install
如果没报错的话,说明升级成功了。
执行ssh -V就能看到OpenSSH的客户端升级成功了。
[root@centos7 openssh-8.6p1]# ./ssh -V
OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
7、配置
上面只能说明OpenSSH的客户端开始使用新版本了,但openssh-server服务端还是在用旧版的。
所以我们还需要修改一下ssh的服务文件,让它开始使用新的版本。
如果前面./configure没指定位置的话,编译后新的sshd服务文件默认是/usr/local/sbin/sshd
我们需要修改sshd的服务文件,指向这个新的sshd文件。
CentOS6和CentOS7系统修改方法不一样。
CentOS6
CentOS6系统:
#vim /etc/rc.d/init.d/sshd
SSHD=/usr/local/sbin/sshd
启用新的sshd后,由于新版本的OpenSSH默认不允许root用户登录,如果需要使用root远程登录,还需要做一下设置。如果不需要,可以直接重启服务。
新的OpenSSH的配置文件是在/usr/local/etc/这个目录下,编辑/usr/local/etc/sshd_config:
# vim /usr/local/etc/sshd_config
PermitRootLogin yes
重启服务
#service sshd restart
CentOS7
禁用原先的SSH服务,并移除服务文件
[root@centos7 ]# systemctl disable sshd
[root@centos7 ]# mv /usr/lib/systemd/system/sshd.service /ssh.service
[root@centos7 openssh-8.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd^C
[root@centos7 openssh-8.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@centos7 openssh-8.6p1]# cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
[root@centos7 openssh-8.6p1]# chmod +x /etc/init.d/sshd
[root@centos7 ~]# vim /etc/init.d/sshd
SSHD=/usr/local/sbin/sshd
#启用新的sshd后,由于新版本的OpenSSH默认不允许root用户登录,如果需要使用root远程登录,还需要做一下设置。如果不需要,可以直接重启服务。
#新的OpenSSH的配置文件是在/usr/local/etc/这个目录下,编辑/usr/local/etc/sshd_config:
[root@centos7 ~]# vim /usr/local/etc/sshd_config
PermitRootLogin yes
8、重启服务
[root@centos7 ~]# sytemctl daemon-reload
[root@centos7 ~]# systemctl enable --now sshd
注意:如果ssh -V还是之前的版本号,请which ssh 从openssh-8.6p1.tar.gz这个包中找到ssh并替换
# mv /usr/bin/ssh /tmp/
# source /etc/profile
# ssh -V
OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
修改Openssh版本号
1、查看版本号
[root@centos7 ~]# sshd -V
unknown option -- V
OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
[-E log_file] [-f config_file] [-g login_grace_time]
[-h host_key_file] [-o option] [-p port] [-u len]
2、查看sshd位置
[root@centos7 ~]# which sshd
/usr/local/sbin/sshd
3、备份sshd
[root@centos7 ~]# cp /usr/local/sbin/sshd /usr/local/sbin/sshd.bak
4、查看sshd版本号有关的字符串(可选)
[root@centos7 ~]# strings /usr/local/sbin/sshd | grep 8.6
OpenSSH_8.6p1
OpenSSH_8.6
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF
.......
5、修改sshd版本号
[root@centos7 ~]# sed -i 's/OpenSSH_8.6/OpenSSH_9.9/g' /usr/local/sbin/sshd
6、查看版本号
[root@centos7 ~]# sshd -V
unknown option -- V
OpenSSH_9.9p1, OpenSSL 1.0.2k-fips 26 Jan 2017
usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
[-E log_file] [-f config_file] [-g login_grace_time]
[-h host_key_file] [-o option] [-p port] [-u len]
说明:sshd为服务端ssh为客户端,如果ssh中的版本号一样想修改那使用同样的操作步骤修改即可;版本号9.9可以躲过扫描器扫描但敏感的的一看就知道人为修改过,好像直接不要版本号也不影响使用。
版权声明
本文为[小灰墩墩]所创,转载请带上原文链接,感谢
https://blog.csdn.net/swyer_66/article/details/118105875
边栏推荐
- OpenStack如何跨版本升级
- HyperMotion云迁移助力中国联通,青云完成某央企上云项目,加速该集团核心业务系统上云进程
- 云迁移的六大场景
- Introduction to the use of semaphore for inter thread control
- logback-logger和root
- 政务云迁移实践 北明数科使用HyperMotion云迁移产品为某政府单位实施上云迁移项目,15天内完成近百套主机迁移
- Multiple inheritance virtual base exercises
- Thread group ThreadGroup uses introduction + custom thread factory class to implement threadfactory interface
- Request module
- GFS分布式文件系统(理论)
猜你喜欢
uni-app消息推送
统信UOS卸载php7.2.24,安装php7.4.27 ;卸载再安装为PHP 7.2.34
OpenStack命令操作
ThreadGroup ThreadGroup implémente l'interface threadfactory en utilisant la classe Introduction + Custom thread Factory
On the multi-level certificate based on OpenSSL, the issuance and management of multi-level Ca, and two-way authentication
在Clion中给主函数传入外部参数
01-nio basic ByteBuffer and filechannel
openstack理论知识
logback-logger和root
x509证书cer格式转pem格式
随机推荐
第四届“传智杯”全国大学生IT技能大赛(决赛B组) 题解
FBS (fman build system) packaging
mysql 5.1升级到5.68
线程间控制之CountDownLatch和CyclicBarrier使用介绍
uni-app消息推送
剑指offer刷题(1)--面向华为
sql中出现一个变态问题
处理 mkdir:无法创建目录“aaa“:只读文件系统
std::map 和 std::vector 内存释放
MySQL基础知识
困扰多年的系统调研问题有自动化采集工具了,还是开源免费的
获取线程返回值Future接口与FutureTask类使用介绍
快速搞懂线程实现的三种方式
HyperMotion云迁移助力中国联通,青云完成某央企上云项目,加速该集团核心业务系统上云进程
HyperMotion云迁移完成阿里云专有云产品生态集成认证
HyperBDR云容灾V3.2.1版本发布|支持更多云平台,新增监控告警功能
Some experience of using dialogfragment and anti stepping pit experience (getactivity and getdialog are empty, cancelable is invalid, etc.)
Operation instructions of star boundary text automatic translator
mysql 5.1升级到5.610
man man随记和crontab的@reboot用法