系统环境:Debian、Ubuntu 及其衍生发行版;区分 SSH 客户端与服务端,解决常见报错与安全配置。
前言
很多新手直接执行 apt‑get install ssh 来安装 SSH,这里有一个容易踩坑的知识点:ssh 并不是真正的程序包,它是一个元包(metapackage),安装该元包会同时安装 openssh‑client(客户端)和 openssh‑server(服务端)。
- 客户端:本机去连接别的服务器
- 服务端:允许其他机器远程连接本机
很多人只是想远程连接别的机器,并不需要对外开放本机 SSH,这时就没必要安装服务端。
一、安装命令
方式 1:安装元包 ssh(客户端 + 服务端全套)
# 更新软件源索引,这一步建议必做
sudo apt‑get update
# 安装全套ssh
sudo apt‑get install ssh
现代 Ubuntu/Debian 推荐使用
apt替代传统apt‑get
sudo apt update
sudo apt install ssh
方式 2:只安装 SSH 服务端(生产环境更常用)
如果你只需要让别的机器连接本机,直接安装 openssh‑server 即可,不需要元包:
sudo apt‑get update
sudo apt‑get install openssh‑server
方式 3:仅 SSH 客户端(本机访问别的服务器)
绝大多数 Ubuntu 桌面版已经预装 openssh‑client。如果缺失,执行:
sudo apt‑get install openssh‑client
⚠️ 只做客户端不需要启动 sshd 服务。
二、安装完成后服务管理
安装 openssh‑server 之后会自动创建 ssh systemd 服务。
# 查看ssh服务运行状态
sudo systemctl status ssh
# 手动启动服务
sudo systemctl start ssh
# 设置开机自动启动
sudo systemctl enable ssh
# 修改配置之后,重启ssh服务生效
sudo systemctl restart ssh
三、SSH 服务端核心配置
配置文件路径:
/etc/ssh/sshd_config
常用安全配置示例(编辑 sudo nano /etc/ssh/sshd_config)
# 关闭密码登录,强烈推荐,改用密钥登录提升安全性
PasswordAuthentication no
# 启用公钥密钥登录
PubkeyAuthentication yes
修改配置必须重启服务才会生效
sudo systemctl restart ssh
四、常见问题排查
1. E: Unable to locate package ssh
- 原因:软件源缓存未更新,或者源地址失效。
- 解决:先执行
sudo apt‑get update;如果依旧报错,更换国内镜像源(清华源、阿里云源)。
2. 远程连接超时
- 本机防火墙放行 22 端口:
sudo ufw allow 22
- 如果是云服务器:还需要在云平台安全组放行 22 端口。
3. Connection refused 连接被拒绝
- 检查:
openssh‑server是否真正安装完成;ssh服务是否正常启动。
五、重要提醒
- 如果你只需要本机去连接其他服务器,不需要别人连你的机器,不要安装
openssh‑server,系统自带的openssh‑client就够用。 - 公网服务器尽量关闭密码登录,使用密钥登录,减少暴力破解风险。
- WSL 环境下安装 openssh‑server 有额外坑点,需要单独处理端口与开机自启。
博客小结
apt‑get install ssh看似简单,分清客户端和服务端,按需安装,做好基础安全配置,能避免很多后期被暴力扫描爆破的问题。
正文完
可以使用微信扫码关注公众号(ID:xzluomor)