升级ubuntu 16.04上的openssh到8.8p1版本的指南,确保在更新过程中避免ssh连接问题,请遵循以下步骤。
安装Telnet以防SSH故障:
为了防止在升级过程中SSH出现问题,首先在服务器上安装Telnet服务端和客户端。
apt-get install openbsd-inetd telnetd telnet /etc/init.d/openbsd-inetd restart # 启动服务 netstat -anpt|grep 23 # 检查Telnet服务的默认端口是否启动 telnet ip # 测试是否可以成功登录
确保服务器对访问主机IP开放防火墙:
ufw allow from 192.168.xx.xx to any port 23
在主机上安装Telnet客户端,并进行远程测试:
telnet 服务器ip
如果遇到“Login incorrect”错误,请修改login文件:
vi /etc/pam.d/login
注释掉pam_securetty.so一行。

具体参考:https://www.php.cn/link/2c6da25c244f420a938f030b17e22d3e
下载安装包:
下载所需的OpenSSL、OpenSSH和Zlib安装包。
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz wget --no-check-certificate https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz wget http://www.zlib.net/zlib-1.2.11.tar.gz
下载完成后,依次解压这些包:
tar -zxvf xxx.gz
安装Zlib:
解压Zlib并进行安装:
tar xvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure --prefix=/usr/local/zlib make -j 8 make install
如果在运行./configure --prefix=/usr/local/zlib时遇到错误,请检查并安装gcc:
cc -v sudo apt-get install gcc
安装OpenSSL:
解压并安装OpenSSL:
tar zxvf openssl-1.1.1l.tar.gz cd openssl-1.1.1l ./config shared zlib make -j 8 sudo make install
如果在编译过程中遇到zlib.h: No such file or directory错误,请返回Zlib源码目录执行以下操作:
make clean ./configure --shared make test sudo make install sudo cp zutil.h /usr/local/include sudo cp zutil.c /usr/local/include
然后回到OpenSSL源码目录重新编译。
备份原来的OpenSSL,并创建软链接到系统位置:
mv /usr/bin/openssl /usr/bin/openssl.bak mv /usr/include/openssl /usr/include/openssl.bak ln -s /usr/local/bin/openssl /usr/bin/openssl ln -s /usr/local/include/openssl /usr/include/openssl
添加OpenSSL的lib库到系统:
echo "/usr/local/lib" > /etc/ld.so.conf.d/openssl.conf ldconfig
查看新的OpenSSL版本:
openssl version -a
完成后显示应为:OpenSSL 1.1.1l 24 Aug 2021
更新OpenSSH:
备份原OpenSSH文件,并卸载旧版本:
mv /etc/init.d/ssh /etc/init.d/ssh.old mv /etc/ssh /etc/ssh.old apt-get remove openssh-server openssh-client -y

安装libpam0g-dev,并解压、配置、编译新版本的OpenSSH:
apt-get install libpam0g-dev -y tar zxvf openssh-8.8p1.tar.gz cd openssh-8.8p1 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local --with-privsep-path=/var/lib/sshd make -j 8 sudo make install
检查新版本的SSH:
ssh -V
应显示:OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021
完成更新后,恢复原备份文件:
cd /etc/ssh mv sshd_config sshd_config.default cp ../ssh.old/sshd_config ./ mv /etc/init.d/ssh.old /etc/init.d/ssh systemctl unmask ssh systemctl restart ssh
检查SSH服务状态:
service sshd status

如果发现scp无法远程连接,报错FATAL ERROR: Received unexpected end-of-file from SFTP server,请修改sshd_config文件:
vi /etc/ssh/sshd_config
将Subsystem配置为:
Subsystem sftp /usr/local/openssh/libexec/sftp-server
重启SSH服务:
service sshd restart
如果没有/usr/local/openssh目录,请将/usr/libexec/sftp-server配置进上述文件。
确认SSH连接正常后,可以关闭Telnet服务:
(1)关闭telnet服务(有两种方式) a)vi /etc/xinetd.d/telnet,将disable=no改成disable=yes; b)chkconfig telnet off;如果需要设置telnet服务不为开机自启动,使用命令chkconfig --del telnet (2)使用命令server xinetd restart或者/etc/init.d/xinetd restart使更改生效。
参考:Ubuntu 16.04 升级Openssh 8.8P1 Ubuntu 16 更新openssh 8.8
以上就是Ubuntu 16.04升级OpenSSH的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号