Ubuntu中安装和配置SSH的完全指南

[复制链接]
发表于 2026-10-3 22:36:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

远程管理服务器,SSH 是绕不开的那一条路。Ubuntu 下从装 openssh-server 到连得上、再到把它配置得更安全,整件事不算复杂,但有几步(防火墙放行、配置文件改完要重启)容易被漏掉。这篇按「装 → 放通 → 连上 → 加固 → 免密」五步走一遍。

一、SSH 是什么

Secure Shell(SSH)是一种网络协议,让用户通过加密通道安全地访问另一台计算机。它广泛用于远程登录系统、管理服务器和进行安全数据传输。在 Ubuntu 这类 Linux 发行版里,安装和配置 SSH 服务是一项常见且相对简单的任务。

二、第 1 步:安装 SSH 服务器

打开终端(快捷键 Ctrl+Alt+T)安装 openssh-server:

sudo apt update
sudo apt install openssh-server

装完 SSH 服务会自动启动,用下面这条看状态:

sudo systemctl status ssh

看到 active (running) 就说明服务起来了。

三、第 2 步:检查防火墙

确认 Ubuntu 防火墙放行 SSH。默认端口是 22:

sudo ufw allow ssh

如果你改了 SSH 端口,就得放行那个特定端口,而不是默认的 22,比如 sudo ufw allow 2222/tcp。这一条最常被忘记:服务明明在跑,外面就是连不上,八成是 ufw 没放行。

四、第 3 步:从客户端连上去

ssh username@server-ip-address

username 是目标机器上已有的用户账号,server-ip-address 是服务器 IP。第一次连的时候会提示是否接受主机公钥,输入 yes 确认,主机信息会写进客户端的 known_hosts。之后再连就不会问了——注意如果换了 IP 或重装系统,Known_hosts 里留着旧指纹反而会连不上,这时需要把对应条目删掉。

五、第 4 步:改配置(可选但推荐)

配置文件在 /etc/ssh/sshd_config,用编辑器打开:

sudo nano /etc/ssh/sshd_config

5.1 更改 SSH 端口

找到 #Port 22 这一行,去掉 # 并把 22 改成你选的端口号:

Port 2222

改端口能减少大量无脑扫描,但记住 改完必须同时放行防火墙的对应端口,还要确认云安全组也放开了。

5.2 禁用 root 登录

出于安全考虑,建议禁止通过 SSH 以 root 身份直接登录。找到 PermitRootLogin 改成:

PermitRootLogin no

保存后重启服务使配置生效:

sudo systemctl restart ssh

改任何配置之后都要 restart,忘了重启等于白改。

六、第 5 步:公钥认证(强烈建议)

用密钥对代替密码,既有安全性也能省掉每次输密码。先在客户端生成一对密钥:

ssh-keygen

然后把公钥拷到服务器的 ~/.ssh/authorized_keys:

ssh-copy-id username@server-ip-address

之后就能免密登录了。想彻底禁密码登录,可以在 sshd_config 里把 PasswordAuthentication 设为 no,注意先确认密钥登录验证通过再关,否则会把你自己锁在门外。

七、排错速查

  • ssh: connect to host ... Connection refused:服务没起(systemctl status ssh)或端口不对。
  • 超时无响应:防火墙/安全组没放行,或机器 IP 变了。
  • 改了端口还是走 22:sshd_config 有重复 Port 行,或 sshd 读的是另一份配置。
  • 提示 host key mismatch:known_hosts 里指纹对不上,删掉旧条目重连。
  • 提示 Permission denied (password):用户名错、或 PermitRootLogin 拦了 root。

整套流程就是「装包 → 起服务 → 放行防火墙 → 连上 → 改端口、禁 root → 换密钥」。做完这五步,一台 Ubuntu 的远程管理通道才算既通又稳。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表