ubuntu open shh9.9安装

步骤一:安装依赖包

复制代码
sudo apt update
sudo apt install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev -y

因无网络需要手动下载依赖包

查看所有包是否已经安装

复制代码
# 一键检查所有开发包状态
dpkg -l build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev | grep "^ii"


完整安装的情况(显示 5 行结果):
bash
ii  build-essential    12.8ubuntu1.1     amd64  Informational list of build-essential packages
ii  libpam0g-dev       1.3.1-5ubuntu4.6  amd64  PAM 开发文件
ii  libselinux1-dev    3.0-1build2       amd64  SELinux 运行时开发文件
ii  libssl-dev         1.1.1f-1ubuntu2.20  amd64  OpenSSL 开发文件
ii  zlib1g-dev         1:1.2.11.dfsg-2ubuntu1.5  amd64  压缩库开发文件

实际中我需要手动安装 libpam0g-dev 利用大模型生成所需要的依赖列表

复制代码
# 生成依赖清单
apt-rdepends libpam0g-dev | grep -v "^ " | sort -u > deps.list
cat deps.list

libc6-dev
libpam0g
libpam-runtime
libselinux1-dev
libpam-modules
libaudit1
libc6
...

使用中科大镜像源 (https://mirrors.ustc.edu.cn/ubuntu/) 下载所需 .deb 文件:

复制代码
# 创建下载目录
mkdir -p ~/pam_deps && cd ~/pam_deps

# 手动下载所有依赖包(中科大镜像源)
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/p/pam/libpam0g-dev_1.3.1-5ubuntu4.7_amd64.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/p/pam/libpam0g_1.3.1-5ubuntu4.7_amd64.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/p/pam/libpam-runtime_1.3.1-5ubuntu4.7_all.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/g/glibc/libc6-dev_2.31-0ubuntu9.14_amd64.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/s/selinux/libselinux1-dev_3.0-1build2_amd64.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/a/audit/libaudit1_2.8.5-2ubuntu6_amd64.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/p/pam/libpam-modules_1.3.1-5ubuntu4.7_amd64.deb
wget https://mirrors.ustc.edu.cn/ubuntu/pool/main/g/glibc/libc6_2.31-0ubuntu9.14_amd64.deb

拷贝到ubuntu系统进行手动安装

复制代码
sudo dpkg -i *.deb

步骤二:下载并安装最新的依赖包

复制代码
# 获取最新版本号(例如 9.3p1)
LATEST_SSH_VER="2.9.9p2"
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-2.9.9p2.tar.gz
tar -xzf openssh-${LATEST_SSH_VER}.tar.gz
cd openssh-${LATEST_SSH_VER}

# 配置安装到独立目录(避免覆盖系统旧版)
./configure --prefix=/opt/openssh-new \
           --sysconfdir=/etc/ssh-new \
           --with-pam \
           --with-selinux \
           --with-md5-passwords \
           --with-ssl-engine

make
sudo make install
步骤三:配置新版 SSH 服务
复制代码
sudo nano /etc/systemd/system/ssh-new.service


写入以下内容:



[Unit]
Description=OpenSSH New Version Server
After=network.target

[Service]
Type=simple
ExecStart=/opt/openssh-new/sbin/sshd -D -f /etc/ssh-new/sshd_config
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target
步骤四. 调整端口与防火墙

修改新版 SSH 配置

sudo cp /etc/ssh/sshd_config /etc/ssh-new/

sudo nano /etc/ssh-new/sshd_config

关键修改项

复制代码
Port 22                # 确保独占 22 端口

# 启用密码认证
PasswordAuthentication yes

# 停止旧服务
sudo systemctl stop ssh

# 启动并持久化新服务
sudo systemctl daemon-reload
sudo systemctl enable --now ssh-new

# 验证服务状态
systemctl status ssh-new
组件 旧版(apt 管理) 新版(手动编译)
安装路径 /usr/bin/ssh /opt/openssh-new/bin/ssh
配置文件 /etc/ssh/sshd_config /etc/ssh-new/sshd_config
服务管理 systemctl stop ssh systemctl restart ssh-new
默认端口 已释放给新版 独占 22 端口

回滚方案

复制代码
# 停止并禁用新版
sudo systemctl disable --now ssh-new

# 恢复旧版 SSH 端口
sudo nano /etc/ssh/sshd_config  # 确保 Port 22 未被注释
sudo systemctl start ssh
相关推荐
黑白园几秒前
个人台式机VMware 15及Ubuntu 16.04.5卸载以及VMware 16.2.3及Ubuntu 24.04.4安装
linux·ubuntu
腾科IT教育8 小时前
Oracle认证怎么选?2026年OCP/OCM报考指南
linux·运维·华为认证·hcie·开闭原则·datacom
longerxin202012 小时前
nano编辑器插入、编辑完整操作教程(Linux日志/配置专用)
linux·运维·编辑器
听风34715 小时前
Arch Linux 软件安装完全指南
linux·运维·archlinux·pacman
韩楚风16 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
网络安全零基础教程16 小时前
网络安全春招面试避坑与复盘指南
linux·网络·安全·web安全·面试·职场和发展
kirs_ur16 小时前
SSD 安全特性 — 加密与 TCG Opal
服务器·网络·安全
智购科技智能售货柜16 小时前
无人售货机连不上服务器?MQTT 频繁掉线排查全流程~YH
运维·服务器
扛枪的书生17 小时前
TigerVNC 安装流程
linux
Mortalbreeze17 小时前
深入 Linux Socket 编程:端口号、网络字节序与 struct sockaddr 详解
linux·服务器·网络·c++