1、查看当前当前环境信息

1.1、查看openssh当前版本

linux-oz6w:~ # openssl version
OpenSSL 1.0.2j-fips 26 Sep 2016
linux-oz6w:~ # ssh -V
OpenSSH_7.2p2, OpenSSL 1.0.2j-fips 26 Sep 2016

1.2、查看当前linux发行版

linux-oz6w:~ # cat /etc/os-release
NAME="SLES"
VERSION="12-SP3"
VERSION_ID="12.3"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP3"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp3"

2、部署telnet-server

2.1、下载telnet-server

linux-oz6w:~ # zypper in telnet-server xinetd

2.2、配置telnet-server

linux-oz6w:~ # ll /etc/xinetd.d/telnet
-rw-r--r-- 1 root root 408 Sep 21 2014 /etc/xinetd.d/telnet
linux-oz6w:~ # vim /etc/xinetd.d/telnet
# default: off
# description: Telnet is the old login server which is INSECURE and should \
# therefore not be used. Use secure shell (openssh).
# If you need telnetd not to "keep-alives" (e.g. if it runs over a ISDN \
# uplink), add "-n". See 'man telnetd' for more details.
service telnet
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.telnetd
}
"去掉telnet文件里面的disable=yes,这样telnet就会随着xinetd的启动而启动"

2.3、配置telnet登录的终端类型

linux-oz6w:~ # cat >> /etc/securetty <<EOF
pts/0
pts/1
pts/2
pts/3
EOF

2.4、启动telnet服务

linux-oz6w:~ # systemctl enable xinetd.service
linux-oz6w:~ # systemctl restart xinetd.service
linux-oz6w:~ # ss -nltp | grep 23
LISTEN 0 64 *:23 *:* users:(("xinetd",pid=2597,fd=5))

2.5、切换链接终端的方式

  • 后面的操作都是在telnet链接的方式下进行,避免ssh中断导致升级失败
  • 以telnet方式登录的时候,注意选择协议和端口,协议为telnet,端口为23

3、升级openssh

3.1、下载依赖包和openssh源码包

linux-oz6w:~ # zypper in gcc gcc-c++ glibc make autoconf openssl openssl-devel
linux-oz6w:~ # wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz
linux-oz6w:~ # wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
linux-oz6w:~ # tar xf openssl-1.1.1i.tar.gz
linux-oz6w:~ # tar xf openssh-8.4p1.tar.gz

3.2、编译安装openssl

"备份老版本的openssl"
linux-oz6w:~ # mv /usr/bin/openssl{,-1.0.2j-fips}
linux-oz6w:~ # mv /usr/include/openssl{,-1.0.2j-fips}
linux-oz6w:~ # cd openssl-1.1.1i/
linux-oz6w:~/openssl-1.1.1i # ./config shared && make && make install
"编译完成后,建立软连接,更新openssl版本"
linux-oz6w:~ # ln -s /usr/local/bin/openssl /usr/bin/openssl
linux-oz6w:~ # ln -s /usr/local/include/openssl/ /usr/include/openssl
linux-oz6w:~ # echo "/usr/local/lib64" >> /etc/ld.so.conf
linux-oz6w:~ # /sbin/ldconfig
linux-oz6w:~ # openssl version
OpenSSL 1.1.1i 8 Dec 2020

3.3、编译安装openssh

"备份老版本ssh"
linux-oz6w:~ # mv /etc/ssh{,-7.2p2}
linux-oz6w:~ # cd openssh-8.4p1/
linux-oz6w:~/openssh-8.4p1 # ./configure --prefix=/usr/local/openssh \
--sysconfdir=/etc/ssh \
--with-openssl-includes=/usr/local/include \
--with-ssl-dir=/usr/local/lib64 \
--with-zlib \
--with-md5-passwords && \
make && \
make install
3.3.1、配置sshd_config
linux-oz6w:~ # sed -i 's/^#UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
linux-oz6w:~ # sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
linux-oz6w:~ # sed -i 's/^#PubkeyAuthentication.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config
linux-oz6w:~ # sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
"如果是图形化界面,需要x11,需要修改如下配置"
linux-oz6w:~ # sed -i 's/^#X11Forwarding.*/X11Forwarding yes/' /etc/ssh/sshd_config
linux-oz6w:~ # sed -i 's/^#X11UseLocalhost.*/X11UseLocalhost no/' /etc/ssh/sshd_config
linux-oz6w:~ # sed -i 's%^#XAuthLocation.*%XAuthLocation /usr/bin/xauth%' /etc/ssh/sshd_config
"建立软连接,更新ssh版本"
linux-oz6w:~ # mv /usr/sbin/sshd{,-7.2p2}
linux-oz6w:~ # mv /usr/bin/ssh{,-7.2p2}
linux-oz6w:~ # mv /usr/bin/ssh-keygen{,-7.2p2}
linux-oz6w:~ # ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
linux-oz6w:~ # ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
linux-oz6w:~ # ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd
3.3.2、重新启动ssh服务
linux-oz6w:~ # mv /usr/lib/systemd/system/sshd.service{,-7.2p2}
linux-oz6w:~ # cp -a openssh-8.4p1/contrib/suse/rc.sshd /etc/init.d/sshd
linux-oz6w:~ # chmod +x /etc/init.d/sshd
linux-oz6w:~ # chkconfig --add sshd
linux-oz6w:~ # systemctl enable sshd --now
3.3.3、验证ssh
linux-oz6w:~ # ssh root@192.168.145.133
linux-oz6w:~ # ssh -V
OpenSSH_8.4p1, OpenSSL 1.1.1i 8 Dec 2020
linux-oz6w:~ # systemctl disable xinetd.service --now

suse 12 升级 OpenSSH-7.2p2 到 OpenSSH-8.4p1的更多相关文章

  1. suse 12 二进制部署 Kubernetets 1.19.7 - 第00章 - 环境准备

    文章目录 0.环境准备 0.0.修改主机名 0.1.添加hosts解析 0.2.配置ssh免密 0.3.发送hosts解析文件到其他节点,并修改hostname 0.4.更新PATH变量 0.5.安装 ...

  2. 【vue-waring】element UI 由版本1.4.12 升级到element-ui@2.0.10

    遇到的问题:element UI   由版本1.4.12 升级到element-ui@2.0.10    cnpm run dev 运行后的waring 状态:解决(相关资料的方法对我没什么用) 解决 ...

  3. oracle数据库psu升级(本实验是将10.2.0.3.12升级到10.2.0.3.15)

    psu升级(本实验是将10.2.0.3.12升级到10.2.0.3.15) 一.解压安装包自定义存放路径为/home/oracle/yjb/psu/10.2.0.3.15cd /home/oracle ...

  4. suse 12 二进制部署 Kubernetets 1.19.7 - 第13章 - 部署metrics-server插件

    文章目录 1.13.0.创建metrics-server证书和私钥 1.13.1.生成metrics-server证书和私钥 1.13.2.开启kube-apiserver聚合配置 1.13.3.分发 ...

  5. suse 12 编译部署Keepalived + nginx 为 kube-apiserver 提供高可用

    文章目录 编译部署nginx 下载nginx源码包 编译nginx 配置nginx.conf 配置nginx为systemctl管理 分发nginx二进制文件和配置文件 启动kube-nginx服务 ...

  6. suse 12 二进制部署 Kubernetets 1.19.7 - 番外篇 - 增加node节点

    文章目录 0.前景提要 1.准备node节点环境 1.0.修改配置脚本参数 1.1.配置免密 1.2.添加hosts解析 1.3.修改主机名 1.4.更新PATH变量 1.5.安装依赖包 1.6.关闭 ...

  7. suse 12 二进制部署 Kubernetets 1.19.7 - 第01章 - 创建CA证书和kubectl集群管理命令

    文章目录 1.kubernetes集群部署 1.0.创建CA证书和秘钥 1.0.0.安装cfssl工具 1.0.1.创建根证书 1.0.2.创建证书签名请求文件 1.0.3.生成CA证书和秘钥 1.0 ...

  8. suse 12 二进制部署 Kubernetets 1.19.7 - 第02章 - 部署etcd集群

    文章目录 1.2.部署etcd集群 1.2.0.下载etcd二进制文件 1.2.1.创建etcd证书和私钥 1.2.2.生成etcd证书和私钥 1.2.3.配置etcd为systemctl管理 1.2 ...

  9. suse 12 二进制部署 Kubernetets 1.19.7 - 第03章 - 部署flannel插件

    文章目录 1.3.部署flannel网络 1.3.0.下载flannel二进制文件 1.3.1.创建flannel证书和私钥 1.3.2.生成flannel证书和私钥 1.3.3.将pod网段写入et ...

随机推荐

  1. 端口状态 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT详解,以及三次握手四次挥手,滑动窗口(整理转发)

    网上查了一下端口状态的资料,我下面总结了一下,自己学习学习: TCP状态转移要点 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死 ...

  2. 阅读阿里Java开发手册记录

    概述 在阅读完阿里Java开发手册(嵩山版)后,发现自己在开发过程中有一些没有按照规范开发的情况,这里将容易忘记的规范记录下来,并且添加自己的理解,一方面方便自己巩固记忆,另一方面希望对其他同学能够提 ...

  3. 树莓派和荔枝派,局域网socket 通信

    在虚拟机上面实现了socket 之间的通信之后,突发奇想,想要实现树莓派和 荔枝派zero之间的通信. 1.直接将虚拟机下面的程序复制过来,重新编译并且运行.发现是没有办法进行通信的.客户端一直报错: ...

  4. python控制另一台电脑虚拟nao机器人

    nao机器人ip地址 http://doc.aldebaran.com/1-14/software/choregraphe/howto_connect_to_simulated.html 结果 访问另 ...

  5. centos下APUE 例程编译-解决报错与改写例子名字。

    首先是编译生成libapue.a的库文件.按照readme的说法很简单改个目录make一下就好,但是在centos下还是有错.通过下面这篇博文<<UNIX环境高级编程中的apue.h错误& ...

  6. Flink State Rescale性能优化

    背景 今天我们来聊一聊flink中状态rescale的性能优化.我们知道flink是一个支持带状态计算的引擎,其中的状态分为了operator state和 keyed state两类.简而言之ope ...

  7. nginx缓冲区参数配置优化

    目录 一:nginx缓冲区优化 1.proxy_buffering 2.proxy_buffer_size 3.proxy_buffers 4.proxy_busy_buffers_size 5.pr ...

  8. Hbase 项目

     需求分析 1) 微博内容的浏览,数据库表设计 2) 用户社交体现:关注用户,取关用户 3) 拉取关注的人的微博内容 表结构 代码实现 1) 创建命名空间以及表名的定义 2) 创建微博内容表 3) 创 ...

  9. 关于spring MVC 绑定json字符串与实体类绑定

    1 如果前台传json字符串,后台用@RequestBody 接收 前端 "content-Type":"application/json", 2  前台用fo ...

  10. IDE添加自定义注释

    前言:最近在找IDE自定义模板注释时,十分不愉快,找了很久,才找到适合自己的,故记录一下 一.IDE自定义类注释:       1:打开自定义模板界面,并添加自定义内容: 2:新建类,效果如下 备注: ...