本文最后更新于 836 天前,其中的信息可能已经有所发展或是发生改变。
既然你看到这个文档,肯定就不用解释了。直接开始正文。
OpenSSH
OpenSSH版本号的查询主要依赖两个命令:
1 2 3 4 5 6 7 8 |
[root@scp-person1 ~]# ssh -V OpenSSH_7.0p1,Open SSL 1.0.2k-fips 26 Jan 2017 [root@scp-person1 ~]# sshd -v unknown option -- v OpenSSH_7.0p1, 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没有-v参数,但是这样也能输出版本。这里会显示两个版本,其中OpenSSH是这一步要更改的,我们将7.0更改为8.8。
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@scp-person1 ~]# which ssh /usr/local/bin/ssh [root@scp-person1 ~]# cp -r /usr/local/bin/ssh /usr/local/bin/sshbak [root@scp-person1 ~]# strings /usr/local/bin/ssh|grep 7.0 OpenSSH_7.0p1 OpenSSH_7.0 FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF => 注意,会有很多输出,要考虑好替换的部分,不要替换别的。 [root@scp-person1 ~]# sed -i 's/OpenSSH_7.0/OpenSSH_8.8/g' /usr/local/bin/ssh => 注意,改前和改后长度需要相等。 [root@scp-person1 ~]# ssh -V OpenSSH_8.8p1,Open SSL 1.0.2k-fips 26 Jan 2017 |
sshd文件的修改方法基本和上述一致。需要注意修改前和修改后的长度应该相等。后续不再赘述。
OpenSSL
OpenSSL的查询方法略有不同:
1 2 |
[root@scp-person1 ~]# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017 |
修改版本号前我们需要知道一个知识:ssl的版本号是由一个so文件提供的。继续:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[root@scp-person1 ~]# which openssl /usr/bin/openssl [root@scp-person1 ~]# ldd /usr/bin/openssl|grep libcrypto.so libcrypto.so.1.0.2k => /usr/local/lib64/libcrypto.so.1.0.2k (0x0000114514191981) [root@scp-person1 ~]# cp -r /usr/local/lib64/libcrypto.so.1.0.2k /usr/local/lib64/libcrypto.so.1.0.2kbak [root@scp-person1 ~]# strings /usr/local/lib64/libcrypto.so.1.0.2k|grep 1.0.2 OPENSSL_1.0.2 OpenSSL 1.0.2k-fips 26 Jan 2017 …… => 所有包含1.0.2的内容都会被输出 [root@scp-person1 ~]# sed -i 's/1.0.2k-fips 26 Jan 2017/1.1.1m 14 Dec 2021 /g' /usr/local/lib64/libcrypto.so.1.0.2k => 注意在字符串末尾补全的五个空格。 [root@scp-person1 ~]# sed -i 's/OPENSSL_1.0.2/OPENSSL_1.1.1/g' /usr/local/lib64/libcrypto.so.1.0.2k [root@scp-person1 ~]# openssl version OpenSSL 1.1.1m 14 Dec 2021 [root@scp-person1 ~]# ssh -V OpenSSH_8.8p1,Open SSL 1.1.1m-fips 14 Dec 2021 |
此时可以通过版本号检查,完毕。