参考链接
目前测试升级到官网最新版本,openssl3.3.0,openssh9.7p1版本
1.wget -P /home/ 将文件下载到指定目录
2.ldd:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题
echo和@echo的区别
make在执行命令之前会把要执行的命令进行输出,称之为回显
如要执行的命令以字符@开始,则不会回显,例如:
1. @echo XXX
在执行命令时,将输出
XXX
2. echo XXX
在执行命令时,将输出
echo XXX
XXX
>和>>的区别
1. 执行echo时,如果用 > 输出到文件,会将文件内容清空并输出
2. 执行echo时,如果用 >> 输出到文件,会将内容从文件最后面另起一行输出
openssl升级
https://www.cnblogs.com/subsea/p/16598499.html
https://developer.aliyun.com/article/66210
1.查看openssl位置
which openssl
2.备份原来的openssl【注意:不同版本可能源文件的ssl路径不一样,不用在意,主要备份/usr/bin/openssl下即可】
mv /usr/bin/openssl /usr/zcService/soft/updateSSH/bakeSSL
mv /usr/include/openssl /usr/zcService/soft/updateSSH/bakeSSL
3.安装文件
cd openssl-3.3.0
./config --prefix=/usr/zcService/soft/updateSSH/opensslInstall -d shared
make && make install
4.指定新配置【源码安装默认安装的位置】
ln -s /usr/zcService/soft/updateSSH/opensslInstall/bin/openssl /usr/bin/openssl
ln -s /usr/zcService/soft/updateSSH/opensslInstall/include/openssl /usr/include/openssl
#修改/etc/ld.so.conf 文件 指定最新的目录
echo “/usr/zcService/soft/updateSSH/opensslInstall/lib” >> /etc/ld.so.conf #>>追加配置文件
#将openssl 的lib 库添加到系统
echo "/usr/zcService/soft/updateSSH/opensslInstall/lib64" > /etc/ld.so.conf.d/openssl.conf #重写配置中
#刷新配置 ldconfig
ldconfig -v
6.问题处理
#Openssl升级后,版本与Library版本不一致的问题
查看openssl调用的Lib有哪些
ldd /usr/zcService/soft/updateSSH/opensslInstall/bin/openssl
#修复这个问题,只需要更新一下libssl.so.1.1和libcrypto.so.1.1即可
#sudo ln -sf /usr/local/openssl-1.1.1w/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
#sudo ln -sf /usr/local/openssl-1.1.1w/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
#下载openssh9.7p1
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz --no-check-certificate
1.备份配置
mv /etc/ssh/sshd_config /usr/zcService/soft/updateSSH/backSSH/sshd_config.bak
mv /usr/sbin/sshd /usr/zcService/soft/updateSSH/backSSH/sshd.bak
mv /usr/bin/ssh /usr/zcService/soft/updateSSH/backSSH/ssh.bak
mv /usr/bin/ssh-keygen /usr/zcService/soft/updateSSH/backSSH/ssh-keygen.bak
mv /etc/ssh/ssh_host_ecdsa_key.pub /usr/zcService/soft/updateSSH/backSSH/ssh_host_ecdsa_key.pub.bak
2.安装文件
# 配置编译和安装过程,"--prefix=" 配置安装目录,"--sysconfdir=" 配置文件路径,"--with-ssl-dir=" openssl的安装路径
./configure --prefix=/usr/zcService/soft/updateSSH/opensshInstall --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/zcService/soft/updateSSH/opensslInstall --with-zlib
make && make install
make
make install
3.修改配置
cp /usr/zcService/soft/updateSSH/opensshInstall/etc/sshd_config /etc/ssh/sshd_config
cp /usr/zcService/soft/updateSSH/opensshInstall/sbin/sshd /usr/sbin/sshd
cp /usr/zcService/soft/updateSSH/opensshInstall/bin/ssh /usr/bin/ssh
cp /usr/zcService/soft/updateSSH/opensshInstall/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/zcService/soft/updateSSH/opensshInstall/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
#一定修改/etc/ssh/sshd_config 配置 PermitRootLogin yes:允许root用户通过SSH登录到系统 pubkeyAuthentication yes:启用公钥身份验证PasswordAuthentication yes:启用密码身份验证
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
5.重启配置
systemctl restart sshd
6.问题处理
升级openssh报 PAM headers not found
yum -y install pam-devel
--------------参考https://blog.youkuaiyun.com/2301_77121488/article/details/137715236
cd ./openssh-9.1p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/include/openssl --with-ssl-dir=/usr/local/lib64 --with-zlib --with-md5-passwords --with-pam
#./configure
#--prefix=/usr
#--sysconfdir=/etc/ssh #编译后ssh路径
#--with-openssl-includes=/usr/local/include/openssl #有很多xxx.h的文件目录
#--with-ssl-dir=/usr/local/lib64 #有xxx.so的目录
#--with-zlib
#--with-md5-passwords
#--with-pam
#升级完成
ssh -V