OpenSSH升级到OpenSSH8.8

为了防止升级失败,可以在升级之前安装telnet服务,通过Telnet连接服务器进行升级(可做可不做,最好是做,之后用不到可以在卸载掉

linux安装telnet_krb___的博客-CSDN博客

升级openssh 8.8准备

查看系统版本
cat /etc/redhat-release
查看ssh版本
ssh –V

安装依赖

yum -y install gcc gcc-c++ kernel-devel

安装下载相关软件包

切换到安装包目录,并下载所需要的安装包没有则新建一个 mkdir /usr/local/ssh

cd /usr/local/ssh/

下载安装包

​wget http://www.zlib.net/zlib-1.2.13.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz

​

解压三个文件夹到/usr/local/src/目录下

tar xf openssh-8.8p1.tar.gz  -C /usr/local/src/           
tar xf openssl-1.1.1h.tar.gz -C /usr/local/src/
tar xf zlib-1.2.13.tar.gz -C /usr/local/src/

安装相应的包

安装zlib

切换到zlib目录下

cd /usr/local/src/zlib-1.2.13/

安装

./configure --prefix=/usr/local/zlib && make -j 4 && make install

验证  echo $? 输出结果0则正确

echo $? 

安装openssl

切换到openssl目录下

cd /usr/local/src/openssl-1.1.1h/

安装

./config --prefix=/usr/local/ssl -d shared
输出下图说明成功了

解析

make -j 4 && make install
验证 echo $?  结果为0则正确
echo $?

在/etc/ld.so.conf追加写入

echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig –v

安装openssh

备份原有的ssh文件

mv /etc/ssh /etc/ssh.bak

切换到ssh安装包目录下

cd /usr/local/src/openssh-8.8p1/

安装openssh

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

解析openssh

make -j 4 && make install
验证echo ? 输出0则没有问题
echo $?

备份 /etc/ssh 原有文件 、并将新的配置复制到指定目录

mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

查看版本

ssh –V

写入ssh配置文件

vim /etc/ssh/sshd_config
#########################sshd配置文件底部插入的内容如下##############
X11Forwarding yes
XAuthLocation /usr/bin/xauth
UseDNS no
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
##############################################################

启动sshd服务

先听掉sshd服务
systemctl stop sshd.service
删除原有的启动服务
rm –rf /lib/systemd/system/sshd.service
重新加载启动服务
systemctl daemon-reload
复制新的sshd.init文件
cp /usr/local/src/openssh-8.8p1/contrib/redhat/sshd.init /etc/init.d/sshd
重启sshd服务
/etc/init.d/sshd restart

查看sshd服务的状态

systemctl status sshd

启动不起来 可以使用/etc/init.d/sshd restart重启即可

添加开机启动

chkconfig --add sshd
chkconfig --list sshd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值