前言
在某些安全要求较高的内网或隔离环境中,Linux服务器可能无法连接互联网。此时若需启用SSH远程登录功能,就必须通过离线方式手动安装OpenSSH及其依赖包。本文将详细介绍在主流Linux发行版(如CentOS、Ubuntu)中离线安装OpenSSH的完整流程。
一、准备工作
你需要一台可联网的同版本Linux机器(用于下载安装包),以及目标离线服务器。
- 确认Linux发行版及版本(如 CentOS 7、Ubuntu 20.04)
- 在联网机器上下载OpenSSH及相关依赖包
- 将所有 .rpm(RHEL/CentOS)或 .deb(Debian/Ubuntu)包拷贝至离线服务器
二、CentOS / RHEL 离线安装步骤
1. 下载所需RPM包
在联网的CentOS机器上执行:
yum install --downloadonly --downloaddir=./openssh-pkgs openssh-server openssh-clients
或使用 reposync 同步整个仓库(推荐用于多台部署)。
2. 传输并安装
将 openssh-pkgs 目录拷贝到离线服务器,然后执行:
cd openssh-pkgs
rpm -ivh *.rpm
3. 启动服务
systemctl start sshd
systemctl enable sshd
三、Ubuntu / Debian 离线安装步骤
1. 下载DEB包
在联网的Ubuntu机器上:
apt download openssh-server openssh-client
同时建议下载依赖:
apt download $(apt-rdepends openssh-server | grep -v "^ " | tail -n +2)
2. 安装DEB包
拷贝所有 .deb 文件到离线机后:
sudo dpkg -i *.deb
sudo apt-get install -f # 修复可能的依赖问题(若已有本地deb源)
3. 启动SSH服务
sudo systemctl start ssh
sudo systemctl enable ssh
四、验证安装
执行以下命令检查SSH服务状态:
systemctl status sshd # CentOS/RHEL
systemctl status ssh # Ubuntu/Debian
并尝试从另一台机器SSH连接该服务器。
五、常见问题
- 依赖缺失:务必确保所有依赖包一并下载安装。
- 端口被占用:检查22端口是否被其他服务占用。
- 防火墙阻止:在离线环境中手动开放22端口(如使用
firewalld或ufw)。