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  
posted @   小小仓鼠  阅读(4813)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示