openssl openssh 升级修复漏洞

centos openssl openssh升级
安装openssl

cd openssl-1.1.1w
./config --prefix=/usr/local/openssl(指定安装位置) -d shared
make && make install
echo ‘/usr/local/openssl/lib’ >> /etc/ld.so.conf.d/openssl-1.1.1w.conf
ldconfig -v

安装openssh-9.8p1

停止服务
systemctl stop sshd

卸载旧版
rpm -qe rpm -qa | grep openssh --nodeps

cp -r /etc/ssh /etc/ssh_bak

rm -rf /etc/ssh/*

tar -xzf /root/openssh-9.8p1 -C /usr/local/src

chwon -R root:root /usr/local/src/openssh-9.8p1

yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
yum install -y zlib* pam*

cd /usr/local/src/openssh-9.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/openssl(这个参数是编译安装openssl后路径不在默认位置的使用指定)
make && make install

修改配置
启动前要将新生成的sshd_config修改以下几个地方

vim /usr/local/openssh/etc/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes

复制文件到相应系统文件夹

cp /root/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd

cat <> /etc/ssh/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
EOF

以下命令为多余,有问题时在做
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

重启sshd服务
systemctl restart sshd
systemctl enable sshd

要在Ubuntu 16上升级OpenSSL

首先,更新系统软件包列表:

sudo apt-get update

安装依赖项:

sudo apt-get install build-essential checkinstall zlib1g-dev libssl-dev

备份旧版本的OpenSSL:在更改系统默认的OpenSSL版本之前,建议先备份旧版本的配置文件和库文件。可以使用以下命令将它们复制到另一个目录中:

sudo cp /usr/bin/openssl /usr/bin/openssl.bak
sudo cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak

下载最新版本的OpenSSL源代码。你可以从OpenSSL官方网站获取最新版本的链接。例如,要下载OpenSSL 1.1.1w版本,可以使用以下命令:

wget https://www.openssl.org/source/openssl-1.1.1wtar.gz

解压下载的源代码包:

tar -xvf openssl-1.1.1w.tar.gz

进入解压后的目录:

cd openssl-1.1.1w

配置并编译源代码:

sudo ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
sudo make

安装编译好的OpenSSL:

sudo make install

更新系统的库路径以使用新安装的OpenSSL:

sudo echo “/usr/local/openssl/lib” | sudo tee /etc/ld.so.conf.d/openssl-1.1.1w.conf
sudo ldconfig

sudo cp /usr/local/openssl/bin/openssl /usr/bin/openssl

验证OpenSSL是否已成功升级:

openssl version

现在,你已经成功升级了Ubuntu 16上的OpenSSL。

要在Ubuntu 16上升级openssh

首先,更新系统软件包列表:

sudo apt-get update

安装依赖项:

sudo apt-get install build-essential zlib1g-dev libssl-dev

下载最新版本的OpenSSH源代码。你可以从OpenSSH官方网站获取最新版本的链接。例如,要下载OpenSSH 8.4p1版本,可以使用以下命令:

wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

停止服务
sudo systemctl stop sshd

卸载旧版

sudo dpkg -r openssh-server

sudo cp -r /etc/ssh /etc/ssh_bak

sudo rm -rf /etc/ssh/*

解压下载的源代码包:

tar -xvf openssh-9.8p1.tar.gz

进入解压后的目录:

cd openssh-8.4p1

配置并编译源代码:

sudo ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl
sudo make

安装编译好的OpenSSH:

sudo make install

更新系统服务:OpenSSH作为系统服务运行,因此需要确保新安装的OpenSSH替换系统的默认SSH服务。你可以通过更新系统的service配置文件来实现这一点:

在Ubuntu 16上编译安装SSH后,可以使用systemctl命令来启动SSH服务。以下是使用systemctl启动SSH服务的步骤:

确保SSH服务已正确安装:在启动SSH服务之前,请确保你已经完成了SSH的编译和安装过程,并且相关的文件和配置文件已经就绪。
创建systemd服务单元文件:如果你在编译SSH时没有自动创建systemd服务单元文件(例如sshd.service),你需要手动创建一个。这个文件通常位于/etc/systemd/system/或/lib/systemd/system/目录下。一个简单的服务文件示例如下:

[Unit]
Description=OpenSSH server daemon
After=network.target

[Service]
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5s
SyslogIdentifier=sshd

[Install]
WantedBy=multi-user.target

请根据你的实际安装路径修改ExecStart行中的路径。
重新加载systemd配置:创建服务单元文件后,需要重新加载systemd配置,以便systemd识别新服务。可以使用以下命令重新加载配置:

sudo systemctl daemon-reload

在/etc/systemd/system目录建立软链接

sudo ln -s /lib/usr/systemd/systemc/sshd.service /etc/systemd/system/ssh.service
sudo ln -s /lib/usr/systemd/systemc/sshd.service /etc/systemd/system/sshd.service

重启SSH服务以应用新版本:

sudo systemctl restart sshd

验证OpenSSH是否已成功升级:

ssh -V

现在,你已经成功升级了Ubuntu 16上的OpenSSH。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值