在Ubuntu上离线升级OpenSSH

本文介绍了在Linux系统中升级OpenSSH的完整过程,包括确认OpenSSL的安装、移除旧版本OpenSSH、解压并编译新版本、安装依赖PAM模块、解决依赖问题、编译及安装OpenSSH、替换命令和重启服务。此外,还提供了检查openssl和ssh版本的方法。
摘要由CSDN通过智能技术生成

        升级OpenSSH前,请确认已安装好OpenSSL,不然升级不成功。如何卸载与安装OpenSSL可在Linux栏目中查看文章。

#移除旧版本(需要注意,移除之后,不能退出当前终端,若退出,只能通过telnet连了,又或者是虚拟机的话可以从后台系统登录)

mv /etc/ssh /etc/ssh.old

#解压

tar -zxvf openssh-7.1p2.tar.gz

#进入目录

cd openssh-7.1p2

#创建安装目录

mkdir /usr/local/openssh

#选择安装目录(prefix 是安装目录)

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-openssl-includes=/usr/local/openssl/include --with-zlib=/usr/local/zlib --without-hardening --with-zlib=/usr/local/zlib --with-pam --with-md5-passwords --mandir=/usr/share/man

#若出现找不到PAM文件的解决方案

按照操作系统名称选择命令安装PAM模块,正常来说执行完就安装成功:
Debian/Ubuntu:sudo apt-get install libpam0g-dev
CentOS/RHEL:sudo yum install gcc pam-devel


如果执行“sudo apt-get install libpam0g-dev”命令显示:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 50%
。。。
您也许需要运行“apt-get -f install”来修正上面的错误。
下列软件包有未满足的依赖关系:
。。。
E: 不能满足依赖关系。不妨试一下 -f 选项。


解决方案为执行以下两条命令修复缺少的依赖:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/*.deb
sudo apt-get -f install


然后再次执行选择安装目录命令:
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-openssl-includes=/usr/local/openssl/include --with-zlib=/usr/local/zlib --without-hardening --with-zlib=/usr/local/zlib --with-pam --with-md5-passwords --mandir=/usr/share/man

#编译

make

#安装

make install

#替换相关命令

cp -arp /usr/local/openssh/bin/* /usr/bin/

#重启SSHD服务

service sshd restart

#查看openssl版本

openssl version

#查看ssh版本

#ssh -V

#此时升级完成,版本已一致,ssh亦可以正常连接。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值