openssh 9.0p1版本和openssl1.1.1o版本部署实操
【准备】
获取openssh 9.0p1版本软件包和openssl1.1.1o版本
如果设备可以连外网,直接从服务器上wget获取
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1o.tar.gz
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
也可以先将软件包下载再上传到服务器上
【部署操作】
【升级openssl1.1.1o版本】
步骤1、将openssl.1.1o软件包上传到服务器/root目录下并解压
tar -zxvf openssl-1.1.1o.tar.gz
步骤2、安装辅助程序
yum install -y gcc make perl openssl-devel pam-devel rpm-build zlib zlib-devel
步骤3、进入openssl-1.1.1o目录下,进入openssl目录配置环境和安装,安装在/usr/local/openssl 目录下
cd openssl-1.1.1o
./config --prefix=/usr/local/openssl
步骤4、进行编译
# make && make install
步骤5、为openssl下的加密解密文件libcrypto和加密模块库libssl创建软连接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
步骤6、修改配置并加载
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
cd /usr/bin/
mv openssl openssl.old
cp /usr/local/openssl/bin/openssl /usr/bin/
步骤7、检查openssl版本
[root@k8s-master01 openssl-1.1.1o]# openssl version
OpenSSL 1.1.1o 3 May 2022
[root@k8s-master01 openssl-1.1.1o]#
【升级openssh版本】
步骤1、备份文件
mv /etc/ssh/ssh_config /etc/ssh/ssh_config_bak
mv /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
mv /etc/ssh/moduli /etc/ssh/moduli_bak
步骤2、安装依赖包
yum -y install gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
步骤3、上传压缩包到服务器root目录下,并解压包进入对应目录
tar -zxvf openssh-9.0p1.tar.gz
cd openssh-9.0p1
步骤4、进行安装和编译
./configure --prefix=/usr --with-zlib --sysconfdir=/etc/ssh --with-ssl-dir=/usr --with-md5-passwords --with-pam --without-openssl-header-check
如果不添加--without-openssl-header-check 命令会有如下信息提示
编译操作
make && make install
步骤5、配置文件修改
cp ./contrib/redhat/sshd.init /etc/init.d/sshd
#安装完毕后,修改sshd服务端配置文件
# 是否允许 root 登入,新版默认是不允许登录
sed -i '/#PermitRootLogin prohibit-password/a PermitRootLogin yes' /etc/ssh/sshd_config
# GSSAPI 是否允许使用基于 GSSAPI 的用户认证,仅用于SSH-2
sed -i '/^GSSAPIAuthentication yes/s/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/' /etc/ssh/sshd_config
#是否在用户退出登录后自动销毁用户凭证缓存,默认值是"yes"。用于SSH-2
sed -i '/^GSSAPICleanupCredentials yes/s/GSSAPICleanupCredentials yes/#GSSAPICleanupCredentials yes/' /etc/ssh/sshd_config
# 关于 SFTP 服务的设定项目,特殊情况服务用SFTP登录不能访问home目录,提示无权限
sed -i 's%/usr/libexec/sftp-server%internal-sftp%' /etc/ssh/sshd_config
chmod -R 600 /etc/ssh/
步骤6、重新加载sshd配置
systemctl stop sshd
sleep 5
mv /lib/systemd/system/sshd.service /lib/systemd/system/sshd.service.bak
systemctl daemon-reload
sleep 5
systemctl start sshd
步骤7、检查openssh版本
ssh -V
[root@k8s-master01 bin]# ssh -V
OpenSSH_9.0p1, OpenSSL 1.1.1o 3 May 2022