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
相关推荐
tan180°31 分钟前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
小小菜鸡ing43 分钟前
pymysql
java·服务器·数据库
Mr. Cao code1 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
抓饼先生2 小时前
Linux control group笔记
linux·笔记·bash
挺6的还2 小时前
25.线程概念和控制(二)
linux
您的通讯录好友2 小时前
conda环境导出
linux·windows·conda
代码AC不AC3 小时前
【Linux】vim工具篇
linux·vim·工具详解
当归10243 小时前
SQL Server死锁排查实战指南
java·服务器·网络
码农hbk4 小时前
Linux signal 图文详解(三)信号处理
linux·信号处理
bug攻城狮4 小时前
Skopeo 工具介绍与 CentOS 7 安装指南
linux·运维·centos