ssh服务器安装需要哪些必备包?,安装依赖怎么解决?

在绝大多数Linux服务器上,SSH服务需要的核心包就是openssh-server,同时建议安装openssh-client用于密钥管理;具体安装命令根据系统版本选择apt或yum/dnf。

Ubuntu与CentOS的ssh服务器安装包对比

远程登录服务器时,SSH协议是最常用的通道,不同系统虽然都依赖openssh-server这个主包,但安装命令和额外依赖存在明显差异,以最常见的两种发行版为例。

配置第一个服务SSH
加载中
配置第一个服务SSH

Ubuntu/Debian系统安装命令

Ubuntu服务器默认可能未安装SSH服务,需要手动操作,执行以下命令前,先更新软件源缓存。

sudo apt update
sudo apt install openssh-server

安装完后,系统会自动生成sshd服务,并创建/etc/ssh/sshd_config配置文件,这个包主要包含sshd服务端和运行时依赖,比如libssl库和openssh-sftp-server,多数情况下,完整安装还会自动拉起host key生成工具,不需要手动干预。

CentOS/RHEL系统的安装包差异

CentOS 7及更低版本用yum,CentOS 8以上推荐dnf,核心包名称和Ubuntu一致,但依赖的库有所区别。

# CentOS 7/RHEL 7
sudo yum install openssh-server
# CentOS Stream / RHEL 9
sudo dnf install openssh-server

值得注意的是,CentOS默认已经预装了openssh-server,但有些精简版镜像可能只保留了openssh-clients,检查是否已安装,可以用rpm命令:

rpm -qa | grep openssh

输出中应当同时包含openssh-server和openssh-client,如果仅有client,则还需单独安装server包。

最小化系统需要额外补装的包

在容器或最小化安装的系统中,即使装好了openssh-server,也常因缺少hostname、passwd或net-tools导致服务启动异常或无法确定IP,行业共识认为,这些基础工具属于SSH正常运行的必要条件,建议在最简环境执行:

sudo apt install -y hostname net-tools iproute2  # Ubuntu最小版
sudo yum install -y hostname net-tools            # CentOS最小版

ssh服务器安装包下载时容易遗漏的依赖项

从软件源安装一般能自动解决依赖,但有两个场景容易出问题:离线安装和源码编译。

ssh服务器安装需要哪些必备包?,安装依赖怎么解决?

离线环境下的依赖包组合

在没有外网的服务器上,很多人只拷贝了openssh-server的rpm或deb包,结果安装时提示依赖缺失,常见缺失项是openssl-libs和zlib,针对CentOS系统,可用createrepo工具将多个rpm包做成临时本地源,再执行yum安装,Ubuntu则建议下载全部依赖的deb包:

sudo apt install -y --download-only openssh-server

执行后,缓存目录下的deb文件需要一并拷贝到目标机器,精简文件时不要只拿主包,/var/cache/apt/archives中的libssl、libwrap等.gz包也要保留。

编译安装时需要的额外工具

如果需要从源码安装新版OpenSSH,依赖要求更严格,除了编译器gcc和make,还必须安装zlib-devel、openssl-devel和pam-devel,缺少这些包,configure阶段就会报错,详细依赖列表在官方源码包中的README文件中,实际操作时可用一句命令准备:

sudo apt install -y build-essential zlib1g-dev libssl-dev libpam0g-dev  # Debian/Ubuntu
sudo yum install -y gcc make zlib-devel openssl-devel pam-devel          # CentOS

安装完成后如何验证ssh服务正常启动

安装包不是装完就结束,必须确认服务已经运行并监听在22端口,执行下面几步,能快速定位绝大多数问题。

检查服务状态与开机自启

使用systemd初始化系统的Linux发行版,通杀以下命令:

sudo systemctl status sshd    # Ubuntu下也可写成 ssh
sudo systemctl enable sshd    # 设置开机自启
sudo systemctl restart sshd   # 修改配置后重启

如果status显示“Active: active (running)”则说明服务已正常,若显示failed,需要查看日志。

验证端口监听情况

服务正常运行后,22端口应当处于监听状态,使用ss命令或netstat查看:

ss -tlnp | grep :22

如果没有任何输出,先确认服务启动,再检查防火墙设置,防火墙往往才是连不上的根源。

安装好的ssh服务器还需要哪些安全增强包

ssh服务器安装需要哪些必备包?,安装依赖怎么解决?

一旦sshd服务开放到公网,各种扫描流量就会接踵而至,与单纯安装核心包相比,以下是更推荐的安全配置组合。

管理用户和密钥认证相关组件

密钥认证比密码登录安全得多,客户端生成密钥对需要的是openssh-client包,这个包在多数发行版中也被称为ssh-import-id,在服务端,则需要确认~/.ssh目录权限正确:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

这些操作不需要额外安装软件包,但很多新手误以为需要安装某个“密钥工具”,实际上密钥生成和认证功能已整合在openssh系列包内。

自动屏蔽暴力破解的辅助包

业内专家指出,单纯靠SSH自身的配置还不够,安装fail2ban可以动态拦截多次登录失败的IP,这款工具的包名在各大软件源中完全一致,直接安装即可:

sudo apt install fail2ban   # Ubuntu
sudo yum install fail2ban   # CentOS

安装后需打开/etc/fail2ban/jail.local,将enabled设为true,并指定sshd服务,如果使用了云服务器,建议同时开启防火墙服务,如Ubuntu的ufw或CentOS的firewalld,只放行22端口来源IP。

日志与监控组件并非必须

有些教程会建议安装sar或auditd查看SSH登录历史,但这只是运维辅助手段,不影响服务本身运行,资源紧张的服务器不必安装,登录日志可以通过journalctl或/var/log/auth.log直接获取。

ssh服务器安装后无法连接的排查步骤

安装完openssh-server,但远程工具始终超时,这种情况很常见,不要急着卸载重装,下面几步按顺序排查。

从客户端收集详细日志

在本地电脑执行ssh -v,输出中会显示协商到哪一步被拒绝:

ssh -v root@服务器IP

如果卡在“Connect timeout”,大概率是网络不通或防火墙拦截,如果收到“Connection refused”,则服务端sshd并没有监听。

检查服务端防火墙与SELinux

大多数连接问题源于防火墙策略,Ubuntu上先查ufw状态:

ssh服务器安装需要哪些必备包?,安装依赖怎么解决?

sudo ufw status

若输出显示22/tcp被阻止,执行sudo ufw allow 22/tcp,CentOS 7以上需检查firewalld:

sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

CentOS系统默认启用SELinux,需要确认ssh_sysadm_connect相关布尔值是否打开,临时可执行setsebool -P ssh_sysadm_connect on,但生产环境最好针对端口和进程做精细配置。

确认sshd配置文件语法

修改过/etc/ssh/sshd_config后,重启前先测试语法:

sudo sshd -t

任何输出都会提示你的错误,常见问题是PermitRootLogin设置不当,导致root无法登录,普通用户却能登录,注意该参数可取值包括prohibit-password、yes、no,多数第三方工具要求设为prohibit-password以允许密钥登录。

ssh服务器安装包常见问题解答

围绕安装包本身,有几个问题被反复提及。

是否只需要安装openssh-server一个包?

实际使用中建议同时安装openssh-client,因为scp、ssh-keygen等工具都由该包提供,只装server也能启动sshd,但不能在本机生成密钥对或执行scp上传操作,若客户端也有,可用scp ~/.ssh/id_rsa.pub user@server:~/.ssh/authorized_keys直接上传公钥。

云主机镜像自带的openssh版本需要升级吗?

云厂商提供的公共镜像一般已经预装openssh-server,但版本可能较旧,由于SSH协议兼容性极强,只要没有高危漏洞,不建议频繁升级,如果需要确认当前版本,执行ssh -V,若担心安全,重点应放在禁用密码登录和禁用root直接登录上,而不是追求新版本。

安装后如何调整连接超时时间?

有些服务器网络较慢,连接会卡在gssapi认证阶段,此时安装包并不需要变更,只需修改sshd_config中的GSSAPIAuthentication为no,同时增加ClientAliveInterval保持会话,这些参数属于配置层面,与包列表无关,修改后执行sudo systemctl restart sshd即可生效。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/699593.html

赞 (0)
河北联通DNS服务器地址是多少,怎么手动设置
上一篇 2026年10月2日 03:27
简米云服务器root密码多久过期,怎么查看剩余时间?
下一篇 2026年10月2日 03:28

相关推荐

  • Linux VPS内存占用过多怎么办?服务器内存占用高怎么解决

    VPS服务器内存占用过高通常由后台常驻进程冗余、数据库连接池配置不当或恶意脚本挖矿三大核心因素导致,通过优化系统服务与调整应用配置即可显著缓解,当你发现VPS的内存使用率长期居高不下,甚至触发系统自动杀死进程(OOM Killer)时,焦虑是难免的,这不仅仅是数字的跳动,更是服务器健康度的直接预警,内存就像服务……

    服务器宽带 2026年6月18日
    3000
  • 中小企业服务器带宽怎么选?带宽选择建议与配置推荐

    中小企业服务器带宽选择的核心逻辑在于“按需分配、适度冗余、动态调整”,切忌盲目追求高配或过度节省,最优策略是依据业务类型测算并发峰值,预留30%左右的冗余带宽,并选择支持弹性升级的服务商,以实现成本与性能的最佳平衡, 精准测算:从业务场景倒推带宽需求不同行业对带宽的消耗逻辑截然不同,企业需首先明确自身业务属性……

    2026年3月7日
    14600
  • 云服务器需要GPU哪些功能,如何选择配置?

    云服务器的GPU功能,简单说就是把显卡的计算能力通过网络交付给你,用来跑AI训练、图形渲染、视频转码这类CPU搞不定的并行计算任务,它不等同于物理显卡插在自己的主板上,而是厂商将GPU硬件虚拟化,按需分配算力、显存和带宽,让你用浏览器或命令行就能接入,如果你正在纠结“云服务器GPU有哪些功能”和“云服务器GPU……

    2026年9月27日
    100
  • 互联网区块链溯源服务是干嘛的?区块链溯源技术原理

    互联网区块链溯源服务利用分布式账本技术,将商品从生产到消费的全链路数据加密上链,确保信息不可篡改,从而解决信任缺失问题,实现防伪、透明化管理及品牌增值,区块链溯源的核心逻辑与运作机制很多人听到“区块链”三个字,第一反应是比特币或者复杂的代码,把它想象成一个“全网共享且无法涂改的电子日记本”会更直观,在这个日记本……

    2026年6月3日
    3900
  • SSL_ERROR_RX_RECORD_TOO_LONG怎么解决?ssl证书配置错误导致

    出现SSL_ERROR_RX_RECORD_TOO_LONG错误通常是因为服务器返回的HTTP响应被错误地当作HTTPS处理,或者SSL证书配置存在冲突,最直接有效的解决方法是检查Nginx或Apache配置中的端口监听与协议匹配,确保HTTP流量不被强制重定向到SSL端口,这个错误代码在浏览器地址栏表现为红色……

    2026年6月19日
    38000
  • 广州100g高防dns解析原理是什么,高防DNS解析如何防御攻击

    广州100g高防dns解析原理的核心在于构建一个具备超大带宽清洗能力与智能调度机制的防御体系,通过将DNS解析与高防清洗中心深度联动,实现从源头阻断DDoS攻击,同时保障正常用户访问的极速与稳定,这一机制并非单一的解析服务,而是一套融合了流量清洗、智能切换与负载均衡的综合防御方案,旨在解决传统DNS解析在面对大……

    2026年4月1日
    8100
  • 广告数据中台研发工程师就业前景好吗?2026薪资待遇如何?

    广告数据中台研发工程师就业前景极其广阔,正处于数字化转型的风口浪尖,是企业数字化营销的核心资产构建者,未来3-5年内将保持高薪且紧缺的态势,随着数字营销行业的精细化发展,企业对数据资产价值的挖掘需求呈爆发式增长,广告数据中台作为连接数据源与业务应用的枢纽,直接决定了企业的营销效率与ROI(投资回报率),这一趋势……

    2026年4月3日
    11100
  • 撤回SSL证书申请有什么条件?如何撤销已提交的SSL证书

    撤回SSL证书申请的核心条件是:证书尚未被CA机构正式签发或部署,且申请人需拥有该订单的管理权限;一旦证书进入“已签发”或“已部署”状态,则无法直接撤回,只能等待过期或主动吊销,在数字安全领域,SSL证书的生命周期管理往往被忽视,但操作失误带来的后果却十分严重,许多企业在配置HTTPS服务时,常因域名拼写错误……

    2026年6月21日
    2600
  • 旅游业专属域名.travel解析是什么?如何申请旅游行业域名

    选择.travel专属域名是旅游企业建立品牌信任、提升搜索引擎权重的最优解,它能通过行业垂直属性直接锁定精准流量,显著优于通用域名在旅游场景下的转化效率,在数字化营销的浪潮中,域名早已超越了简单的网址功能,成为企业在线身份的核心标识,对于旅游行业而言,选择一个能够直观体现行业属性的域名,不仅是品牌建设的基石,更……

    2026年6月25日
    1500
  • 网站的访问速度和哪些因素有关

    网站的访问速度主要取决于服务器性能、网络传输效率、代码资源优化程度以及用户地理位置与CDN覆盖范围的匹配度,其中内容分发网络(CDN)和前端资源压缩是提升速度最立竿见影的手段,在移动互联网深度渗透的今天,用户耐心已被压缩至极限,如果页面加载超过3秒,超过一半的访客会选择离开,这不仅是用户体验问题,更是直接关乎转……

    2026年6月17日
    2800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注