2022-01-07-centos7.6升级ssl和ssh

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-01-07-centos7.6升级ssl和ssh相关的知识,希望对你有一定的参考价值。

参考技术A http://www.zlib.net/zlib-1.2.11.tar.gz

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz

openssl-1.1.1l.tar.gz

#!/bin/bash

path_src=`pwd`

cd $path_src

tar -xvf openssl-1.1.1l.tar.gz

tar -xvf openssh-8.8p1.tar.gz

tar -xvf zlib-1.2.11.tar.gz

tar -xvf gcc_package.tar.gz

#0.检查依赖

rpm -q gcc

if [ $? != 0]; then

  yum localinstall gcc_package -y

fi

#1.zlib

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib

make && make install

cd ..

#2.编译安装openssl

cd openssl-1.1.1l

./config --prefix=/usr/local/ssl -d shared

make && make install

cd ..

#3.安装openssh

cd openssh-8.8p1

./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl

make && make install

cd ..

#4.sshd_config 文件修改

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config

echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config

echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

#5.替换/etc/ssh里的文件

mv /usr/sbin/sshd /usr/sbin/sshd.bak

cp  /usr/local/openssh/sbin/sshd /usr/sbin/sshd

mv /usr/bin/ssh /usr/bin/ssh.bak

cp  /usr/local/openssh/bin/ssh /usr/bin/ssh

mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak

cp  /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak

cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

mv /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_dsa_key.pub.bak

cp /usr/local/openssh/etc/ssh_host_dsa_key.pub /etc/ssh/ssh_host_dsa_key.pub

#6.更换openssl文件 这一步操作完成后 输入openssl version会发现openssl版本已经发生变化

mv /usr/bin/openssl /usr/bin/openssl_bak

cp /usr/local/ssl/bin/openssl /usr/bin/openssl

mv /usr/include/openssl /usr/include/openssl_bak

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

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

/sbin/ldconfig

cd ..

#7.替换启动文件

cd openssh-8.8p1

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

chkconfig --add  sshd

systemctl enable sshd

#8.sshd.service 会跟etc/init.d/sshd 文件形成冲突,而sshd.socket重启之后会发生报错所以进行移除

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

mv  /usr/lib/systemd/system/sshd.socket  /usr/lib/systemd/system/sshd.socket_bak

#9.添加ssh开机启动

chkconfig sshd on

/etc/init.d/sshd restart

#10.重新生成rsa dsa key (这一步是因为怕本地证书不符,所以加上的,可以不进行操作,请自测)

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -P "" -q

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -P "" -q

#11.ssh  -V  进行测试

ssh -V

openssl version

卷曲 ssl 证书

【中文标题】卷曲 ssl 证书【英文标题】:Curl ssl certificates 【发布时间】:2012-04-23 12:55:55 【问题描述】:

我一直在 curl 中关闭 CURLOPT_SSL_VERIFYPEER,但我真的想在我的 php/centos/curl 检查其证书的地方进行升级。我有 CENTOS 4.7 i686,PHP 5.2.16。

我从 stripe.com 得到了一个不错的捆绑包: https://pastebin.com/raw.php?i=NZE2CuVJ

如何将它“安装”到我什至不需要使用的地方

curl_setopt($curl, CURLOPT_CAINFO, 'ca-certificates.crt');

【问题讨论】:

类似***.com/a/3014070/579706,但没有说明 另一个不错的捆绑包curl.haxx.se/ca/cacert.pem 您现在因错误使用 SSL 而出名。请参阅 this security research paper(第 9 页底部)引用您的位置。 哈哈哈好吧,我来这里是为了纠正我的错误,但我的堆栈很糟糕,不会接受新的捆绑。所以不要重复我,告诉我如何解决它。也许我可以修复它,而不是阅读论文。在安装新的更新捆绑包之前,我无法验证它们。 【参考方案1】:

将包保存为“certificates.pem”,并将其放在您的网络服务器上。然后使用

curl_setopt($curl, CURLOPT_CAINFO, '/link/to/directory/certificates.pem');

加载证书列表。 此外,请确保您连接到正确的域。 www.domain.com 可能有一个有效的证书,但 domain.com 可能没有。

更多信息:https://serverfault.com/questions/325120/curl-ssl-issue-with-rapidssl-certificates

【讨论】:

谢谢,但我会尽量避免编辑我正在使用的课程以防更新。 那么这可能会对你有所帮助:serverfault.com/questions/151157/… 如果您能澄清什么不适合您,我可以再次尝试帮助您。 您也可以在 php.ini 中使用 curl.cainfo=/path/to/ca-bundle.crt 选项来避免在每个应用程序中执行 curl_setopt(并使其独立于服务器)

以上是关于2022-01-07-centos7.6升级ssl和ssh的主要内容,如果未能解决你的问题,请参考以下文章

sql 将SSL /升级站点设置为SSL

使用 StreamSocket 升级到 SSL

DV SSL证书可以升级到OV SSL证书吗?

升级到 Chrome 73 后,SSL 证书在本地 Rails 上不起作用

SSL 握手警报:升级到 Java 1.7.0 后出现 unrecognized_name 错误

http升级为https--SSL证书