服务器配置
系统信息
SSH版本
目标版本
openssh-server_8.2p1-4_arm64.deb
因为不通互联网,所以所有deb包需要手动下载(可以连接互联网的可以自动忽略手动下载deb步骤,直接apt-get install xxx 即可)
升级步骤
!!!deb下载方式!!!!
有好几种方式,可以按需取用(不过如果是奔着统信UOS来的,可以直接用PKGS.ORG)
官方版本
方案是demo,正式操作按需取用
地址
官方版本
用法
稍微复杂点
输入完整包名,比如openssh-server 选择ubuntu版本和平台架构后,会出来下面的界面
拿到pool/main/o/openssh/后,拼接到地址Index of /后,就可以下载你想要的包了
Index of /pool/main/o/opensshhttp://ports.ubuntu.com/pool/main/o/openssh/
PKGS.ORG
地址
PKGS.ORG
用法
用法比较简单,直接搜如完整的包名即可,比如: openssh-server
搜索到后直接点击DOWNLOAD的连接下载即可
注意点
Ubuntu Main arm64 和Ubuntu Updates Main arm64 是不同的版本
如果openssh-server用了哪个版本,后续依赖一定要选择一样的,不然会依赖不到
安装Telnetd
为什么
使用telnet服务,可以连接对方服务器,并执行命令(telnetd用完即删,风险极大)
怎么做
下载deb包
inetutils-telnetd 1.9.4-1lubuntu0.2 arm64.deb
安装
dpkg -i inetutils-telnetd 1.9.4-1lubuntu0.2 arm64.deb
安装完后会发现不论是systemctl还是service都查不到,不用担心,请往下看
配置
vim /etc/inetd.conf
#把这个加到最下面
telnet stream tcp nowait root /usr/sbin/telnetd telnetd
#保存退出
#重启inet
systemctl restart inetutils-inetd.service
#查看inet服务状态(如果telnet配置文件有问题,会在这里提示)
systemctl status inetutils-inetd.service
#接下来创建用户,因为telnet不允许root登录,所以需要一个新用户
#添加用户
adduser xxx
# 如果上一步没添加密码,这一步添加下密码
passwd xxx
# 查看用户
id xxx
#连接
telnet [IP]
输入用户名
输入密码
su root
#输入 root 密码
#接下来就可以操作远控的服务器了
安装SSHD
下载deb包
openssh-server_8.2p1-4_arm64.deb
安装deb包
注意!!!!!!!!!!!!!!!!!!!!
执行完你的ssh就会挂掉,百分百的几率,请确保你的telnet可用的情况下操作(或者夜间,没有任人用的时候)
dpkg -i xxxx.deb
不出意外的话,你的ssh应该挂了(挂的原因是你的sshd依赖包没找到)
那么接下来你就操作安装依赖包就可以了
终极解决办法
这步不是很推荐,我也是在libc6和gcc这两个包循环依赖下后才执行的
dpkg --force-all -i openssh-server_8.2p1-4_arm64.deb
然后就升级完成了,接下来如果你也像我一样完成了,就关闭telnetd
关闭telnetd
systemctl stop inetutils-inetd.service
#最后验证下是否关闭了
telnet xxx
#提示telnet: Unable to connect to remote host: Connection refused 即是关闭了
坑点
Control.tar.zst 格式问题
一般都是版本问题,参考前面的介绍,可以避开版本选错,如果实在解决不了,就用下面的办法