ubuntu16.04升级openssh
升级openssh
1、安装依赖包
1 | apt install libzip-dev libssl-dev autoconf gcc libxml2 make -y |
2、下载源码文件包
1 2 3 4 5 6 7 | cd /usr/local/src wget https: //cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz wget https: //www.openssl.org/source/openssl-1.1.1.tar.gz --no-check-certificate wget http: //www.zlib.net/zlib-1.2.11.tar.gz tar -zxvf openssh-8.1p1.tar.gz tar -zxvf openssl-1.1.1.tar.gz tar -zxvf zlib-1.2.11.tar.gz |
3、编译安装zlib
1 2 3 4 5 6 7 8 9 | 上传zlib源码到服务器的任意目录,并解压 cd zlib-1.2.11 . /configure --prefix= /usr/local/zlib make && make install 更新动态链接数据库 echo "/usr/local/zlib/lib" >> /etc/ld .so.conf ldconfig - v |
4、编译安装openssl
1 2 3 4 5 6 7 8 9 | apt purge openssl<br> cd .. /openssl-1 .1.1 . /config shared --prefix= /usr/local/ssl make test make install ln -s /usr/local/ssl/lib/libssl .so.1.1 /usr/lib/libssl .so.1.1 ln -s /usr/local/ssl/lib/libcrypto .so.1.1 /usr/lib/libcrypto .so.1.1 echo "/usr/local/ssl/lib" > /etc/ld .so.conf.d /openssl .conf mv /usr/include/openssl /usr/include/openssl .bakmv /usr/bin/openssl /usr/bin/openssl .bakln -s /usr/local/ssl/include/openssl /usr/include/openssl <br> ln -s /usr/local/ssl/bin/openssl /usr/bin/ <br>ldconfig - v <br>查询openssl版本号 <br>openssl version -a |
5、编译安装openssh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mkdir /tmp/ssh_bak -p mkdir /tmp/ssh_bak/init .d -p cp -r /etc/ssh /tmp/ssh_bak cp /etc/init .d /ssh /tmp/ssh_bak/init .d service sshd stop #apt-get remove openssh-server openssh-client -y apt-get purge openssh-server openssh-client -y #rm -rf /etc/init.d/ssh #mv /etc/ssh /etc/ssh.bak cd .. /openssh-8 .1p1 . /configure --prefix= /usr/local/ssh --sysconfdir= /etc/ssh --with-ssl- dir = /usr/local/ssl <br> make make instal |
6、设置相关配置文件
1 2 3 4 5 6 7 8 9 10 11 | mv /usr/bin/scp /tmp/ mv /usr/bin/ssh * /tmp/ ln -s /usr/local/ssh/bin/ssh /usr/bin/ssh ln -s /usr/local/ssh/bin/scp /usr/bin/scp ln -s /usr/local/ssh/bin/ssh-add /usr/bin/ssh-add ln -s /usr/local/ssh/bin/ssh-agent /usr/bin/ssh-agent ln -s /usr/local/ssh/bin/ssh-keygen /usr/bin/ssh-keygen ln -s /usr/local/ssh/bin/ssh-keyscan /usr/bin/ssh-keyscan ln -s /usr/local/ssh/sbin/sshd /usr/bin/sshdln -s /usr/local/ssh/sbin/sshd /usr/sbin/sshd 执行 ssh -V验证是否升级成功 ssh -V |
7、重启ssh服务
1 2 | systemctl enable ssh systemctl restart ssh |
8、查看当前版本
1 | ssh -V |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通