随笔 - 45  文章 - 0 评论 - 7 阅读 - 20万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

此文介绍的是服务器在有网络和无网络情况下升级openssh方式。

一、首先介绍一个无网络如何升级:

1、准备相关的包

  openssh下载地址:  http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/

      openssl相关包下载:http://www.openssl.org/source/

      pam相关包下载:http://pkgs.org/centos-6/centos-x86_64/

      zlib包下载: http://zlib.net/

2、安装zlib

  tar -zxvf zlib-1.2.8.tar.gz
  cd zlib-1.2.8
  ./configure --prefix=/usr/local/zlib && make && make install

3、安装openssl-fips 

  tar zxvf openssl-fips-2.0.5.tar.gz
  cd openssl-fips
  ./config
  make && make install

4、安装openssl

  tar -zxvf openssl-1.0.1h.tar.gz
  cd openssl-1.0.1h
  ./config fips --shared
  make && make install

5、将新编译的openssl library 加入系统动态库链接中

  echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
  ldconfig

6、安装pam,首先卸载旧版本

  查看版本信息:rpm -qa|grep pam
  卸载旧版本: rpm -e --nodeps pam-1.1.1-17.el6.x86_64

  安装pam: 依次安装
  rpm -ivh tcp_wrappers-devel-7.6-57.el6.x86_64.rpm
  pam-1.1.1-20.el6_7.1.x86_64.rpm
  pam-devel-1.1.1-20.el6_7.1.x86_64.rpm

7、安装OpenSSH
  tar zxvf openssh-7.1p1.tar.gz
  cd openssh-7.1p1
  ./configure \
  --prefix=/usr \
  --sysconfdir=/etc/ssh \
  --with-md5-passwords \
  --with-pam \
  --with-tcp-wrappers \
  --with-ssl-dir=/usr/local/ssl \
  --with-zlib=/usr/local/zlib \
  --without-hardening
  make && make install


8、加入到系统服务,重启sshd升级成功
  chkconfig --add sshd
  service sshd restart

二、有网络情况下

1、tar zxvf openssh-7.1p1.tar.gz
  cd openssh-7.1
  ./configure --prefix=/usr --sysconfdir=/etc/ssh
  make
  make install 

2、如果配置时出现如下环境问题:

      configure: error: *** zlib.h missing - please install first or check config.log ***

  使用 yum install openssl openssl-devel -y 安装相关依赖包

3、配置成功,可以编译了,如果没有make环境,用如下命令安装一下即可
  yum install make automake gcc gcc-c++ gcc-g77 -y

4、上面的方法会覆盖原版本的文件,make install覆盖/etc/ssh下配置文件时可能会报错。这时删掉/etc/ssh下的原配置文件,再make install一次就可以了。

 

如果使用root远程无法登录,修改/etc/ssh/sshd_config

将 PermitRootLogin 参数改为yes。

这两种方法个人测试成功,如按上述无法实现请查阅相关问题或留言共同解决

 

posted on   一寸相思万千劫  阅读(1945)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示