Debian镜像远程访问的常见场景与做法
一、场景一 使用官方或国内镜像站进行 apt 软件源远程访问
- 适用目的:让本机的 APT 从远程 Debian 镜像站下载软件包,提高速度与可用性。
- 操作步骤:
- 备份当前源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 编辑源文件(以 Debian 12 Bookworm 为例,使用 USTC 镜像)
sudo nano /etc/apt/sources.list
写入:
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
- 更新索引并(可选)升级
sudo apt update && sudo apt upgrade -y
- 说明:可替换为其他镜像(如 清华 tuna、163、南京大学 等);选择与系统代号一致的发行版分支(如 bookworm、bullseye)。Debian 官方提供全球镜像站入口以便查找合适的镜像。
二、场景二 让本机作为 SSH 服务器被远程登录
- 适用目的:从另一台机器通过 SSH 登录到这台 Debian(云镜像、虚拟机、物理机均可)。
- 操作步骤:
- 安装并启动 SSH 服务
sudo apt update && sudo apt install -y openssh-server
sudo systemctl enable --now ssh
- 按需调整 SSH 配置(/etc/ssh/sshd_config)
- 允许密码登录(如默认禁用):PasswordAuthentication yes
- 允许 root 登录(不建议生产环境):PermitRootLogin yes
修改后重启:sudo systemctl restart ssh
- 获取本机地址并连接
ip -4 addr show scope global 或 hostname -I
远端执行:ssh 用户名@你的IP
- 说明:部分 云镜像/模板 默认禁用密码登录或仅允许密钥登录,需按上述方式开启;若使用密钥登录,请将客户端公钥放入 ~/.ssh/authorized_keys。
三、场景三 在 Docker 内运行 Debian 镜像并开启远程 SSH
- 适用目的:在容器内提供可远程登录的 Debian 环境(便于 CI/教学/实验)。
- 操作步骤:
- 启动容器并映射端口
docker run -d --name debian-ssh -p 2222:22 debian:bookworm-slim
- 进入容器并安装 SSH
docker exec -it debian-ssh bash
apt update && apt install -y openssh-server sudo
- 配置 root 可登录与密码
echo ‘root:YourStrongPass’ | chpasswd
sed -i ‘s/^#?PermitRootLogin./PermitRootLogin yes/’ /etc/ssh/sshd_config
sed -i 's/^#?PasswordAuthentication./PasswordAuthentication yes/’ /etc/ssh/sshd_config
- 启动 SSH 服务
service ssh start
- 远端连接
ssh root@你的宿主机IP -p 2222
- 说明:生产环境不建议直接暴露容器 SSH 到公网,可结合 SSH 密钥、fail2ban、反向代理/内网穿透 等手段增强安全。
四、场景四 无外网环境使用本地 DVD 镜像作为软件源
- 适用目的:离线/内网环境,用 DVD ISO 作为本地 APT 源。
- 操作步骤:
- 挂载 ISO(示例为 Debian 9 stretch,多张 DVD 依次挂载)
sudo mkdir -p /media/dvd{1,2,3}
sudo mount -o loop /path/to/debian-9.9.0-amd64-DVD-1.iso /media/dvd1
sudo mount -o loop /path/to/debian-9.9.0-amd64-DVD-2.iso /media/dvd2
sudo mount -o loop /path/to/debian-9.9.0-amd64-DVD-3.iso /media/dvd3
- 配置本地源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo “deb [trusted=yes] file:///media/dvd1/ stretch contrib main” | sudo tee /etc/apt/sources.list
echo “deb [trusted=yes] file:///media/dvd2/ stretch contrib main” | sudo tee -a /etc/apt/sources.list
echo “deb [trusted=yes] file:///media/dvd3/ stretch contrib main” | sudo tee -a /etc/apt/sources.list
- 更新索引
sudo apt update
- 说明:离线场景也可用已下载的 .deb 包目录搭建本地仓库(如 reprepro/aptly),方法与挂载 ISO 类似,但需额外生成索引。