Linux使用技巧11--Ubuntu离线安装openssh-server

本文详细记录了在Ubuntu系统下进行openssh-server离线安装的过程及遇到的问题。作者尝试了从官方网站下载deb包安装但遭遇循环依赖,后通过制作离线安装包的方式解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

许三爷说,Ubuntu的离线安装跟屎一样。
最近的经历让我对如此不逊的言语十分赞同。
那屎一样的离线安装。

联网的日子里,安装openssh-server只需要执行:

sudo apt-get install open-server

即可,工具会自动解决依赖问题。没有安装的依赖会自动安装。

Windows的日子中,一个安装包,下一步,下一步,搞定。

可是离线的Ubuntu要怎么安装openssh-server呢?

第一次尝试官网下载deb安装包

http://packages.ubuntu.com/
这个网站里面都是官方支持的软件包,搜索openssh-server,来到
http://packages.ubuntu.com/vivid/openssh-server

里面看到有很多依赖。我先无视之,然后点击下载amd64的版本。
执行:

sudo dpkg -i xxx

然后安装不成功,我就一个一个下载依赖的,但是很快就出现了循环依赖。
程序安装不下去了,我的系统也废了。

第二次尝试“制作离线安装包”

网友莫川的做法还是值的借鉴的。网址:http://blog.csdn.net/nupt123456789/article/details/11649603
无法上网的机器是Ubuntu15.04,我在联网的虚拟机中安装了相同的系统,然后制作离线安装包。
一、下载deb安装包

$ sudo apt-get -d install openssh-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libck-connector0 ncurses-term openssh-client openssh-sftp-server ssh-import-id
Suggested packages:
  libpam-ssh keychain monkeysphere rssh molly-guard
The following NEW packages will be installed:
  libck-connector0 ncurses-term openssh-server openssh-sftp-server ssh-import-id
The following packages will be upgraded:
  openssh-client
1 upgraded, 5 newly installed, 0 to remove and 328 not upgraded.

二、新建openssh文件夹,将上述下载的deb包(连同archives文件夹)拷入。

mkdir openssh
cp /var/cache/apt/archives openssh
sudo chmod 777 -R openssh

三、生成依赖关系

$ sudo dpkg-scanpackages /openssh/ /dev/null |gzip >/openssh/Packages.gz

注意请不要修改Packages.gz这个命名,然后将其拷到openssh/archives下。

$ mv openssh/Packages.gz openssh/archives/

四、离线机器上安装
1、将openssh文件夹用U盘拷到离线机器的根目录下。
2、修改系统源source.list(注意之前要备份)

$ sudo vim /etc/apt/sources.list

将里面内容删掉,加入:

deb file:///openssh archives/

3、更新系统源并安装

$ sudo apt-get update
$ sudo apt-get install openssh-server

这样在一台虚拟机中安装没有问题,可是在离线机器中报错找不到相应的deb文件。
尝试解决无果,最后还是直接用dpkg -i 来安装,将需要的几个依赖包先安装好,再安openssh-server。
果然可以了。

### 配置 SSH 系统的方法 在 VirtualBox 上安装 Ubuntu 22.04 并完成 SSH 系统的配置是一个相对简单的过程,以下是详细的说明: #### 安装 VirtualBox 及创建虚拟机 为了开始此过程,首先需要确保已经正确安装了 VirtualBox,并按照标准流程创建了一个新的虚拟机用于运行 Ubuntu 22.04 LTS。可以参考相关文档来完成这一步骤[^1]。 #### 下载并安装 Ubuntu 22.04 下载最新的 Ubuntu 22.04 ISO 文件,并将其挂载至 VirtualBox 创建的虚拟机中作为启动介质。具体步骤可参照提供的资料进行操作[^3]。 #### 设置网络模式为桥接模式 为了让主机与虚拟机之间能够互相通信,在 VirtualBox 的设置界面中将网络适配器更改为 **桥接模式** (Bridged Adapter),从而使得虚拟机能获得独立的 IP 地址并与外部网络交互[^2]。 #### 更新软件包索引 进入已安装好的 Ubuntu 系统后,打开终端执行以下命令以更新本地软件包缓存: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装 OpenSSH Server 接着可以通过 APT 包管理器轻松地安装 `openssh-server` 来启用 SSH 功能: ```bash sudo apt install openssh-server -y ``` 一旦安装完毕,默认情况下该服务会立即启动并且随系统引导而自启。 #### 修改防火墙规则允许 SSH 连接 如果 UFW(Uncomplicated Firewall)处于活动状态,则需添加一条新规则开放端口 22 (默认 SSH 使用的端口号),以便其他设备上的客户端程序可以正常访问服务器。 ```bash sudo ufw allow ssh sudo ufw enable ``` #### 测试 SSH 访问 此时可以从另一台计算机尝试通过 SSH 登录到您的 Ubuntu 实例上。假设目标机器拥有静态 IP 地址 `192.168.x.y` ,则可以在 Windows 命令提示符下输入如下指令来进行验证: ```cmd ssh ltmz@192.168.x.y ``` 其中,“ltmz” 是您之前设定的非 root 用户名;替换实际使用的 IP 地址部分即可。 #### 自动化部署 VSCode Remote Development 插件支持 对于开发者而言,还可以进一步扩展环境集成 Visual Studio Code 编辑器实现无缝衔接的工作流体验。详情参见参考资料中的描述。 --- ### 注意事项 在整个过程中可能会遇到各种各样的挑战或者错误消息,请耐心排查问题根源所在。例如确认所有必要的依赖项均已就绪、检查是否存在冲突的服务正在占用相同的端口等等[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值