为了防止升级失败,可以在升级之前安装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