背景
因为安全原因,服务器无法访问外网,不能通过apt-get安装各种包,
因此只能通过其他ubuntu服务器下载所有deb包后再拷贝过去手动安装。
步骤
1.找一台可以联网且尽量版本相同的ubuntu服务器
2.在/var/cache/apt下新建一键下载依赖包的脚本download.sh
#!/bin/bash
logfile=/home/log
ret=""
function getDepends()
{
echo "fileName is" $1>>$logfile
# use tr to del < >
ret=`apt-cache depends $1|grep Depends |cut -d: -f2 |tr -d "<>"`
echo $ret|tee -a $logfile
}
# 需要获取其所依赖包的包
libs=$1 # 或者用$1,从命令行输入库名字
# download libs dependen. deep in 3
i=0
sudo apt-get install $libs -d -y
while [ $i -lt 3 ] ;
do
let i++
echo $i
# download libs
newlist=" "
for j in $libs
do
added="$(getDepends $j)"
newlist="$newlist $added"
apt install $added --reinstall -d -y
done
libs=$newlist
done
3.删除/var/cache/apt/archives文件夹,并新建一个空的
rm -rf /var/cache/apt/archives
mkdir /var/cache/apt/archives
4.运行脚本下载所需要的依赖包
./download.sh build-essential
#必须下libssl1.0-dev 下载libssl-dev 编译openssl7.4报错
./download.sh libssl1.0-dev
./download.sh zlib1g-dev
5.将archives打包
tar -zxvf archives.tar.gz ./archives/
6.下载openssl7.4安装包
官网各版本下载地址
wget https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz
7.将5、6的文件拷贝到目标服务器上
8.解压archives、openssl7.4
tar -zcvf archives.tar.gz
tar -zcvf openssh-7.4p1.tar.gz
9.进入archives安装所有deb包
cd archives
sudo dpkg -i *.deb
10.进入openssl7.4编译安装
cd openssl7.4p1
./configure
make
make install
#检查版本
sshd -V
注:如果提示缺少依赖,请重复3、4、9步下载安装所需包