我是靠谱客的博主 幽默夏天,最近开发中收集的这篇文章主要介绍在Ubuntu上离线升级OpenSSH,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        升级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亦可以正常连接。

最后

以上就是幽默夏天为你收集整理的在Ubuntu上离线升级OpenSSH的全部内容,希望文章能够帮你解决在Ubuntu上离线升级OpenSSH所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部