升级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亦可以正常连接。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/151167.html