首页 帮助中心 服务器Ubuntu系统上如何配置SSH访问?
服务器Ubuntu系统上如何配置SSH访问?
时间 : 2025-06-26 14:57:18 编辑 : 华纳云 阅读量 : 5

在远程管理服务器的众多方式中,SSH始终是最主流也是最安全的一种连接协议。无论是云服务器、公有云VPS还是私有部署的物理机,只要是运行Linux操作系统,几乎都可以通过SSH进行远程命令控制和文件管理。Ubuntu作为应用广泛的服务器操作系统,配置SSH访问是其系统初始化过程中不可或缺的一环。

什么是SSH协议?

SSH,全称为Secure Shell,是一种建立在TCP协议上的安全通信协议,广泛用于在非安全网络中提供远程登录、命令执行、文件传输等功能。SSH具有如下特点:①支持数据加密,防止中间人攻击;②提供密钥认证机制,安全性高于传统用户名密码;③默认使用22端口,支持任意端口修改;④可用于SFTP、rsync等文件传输方式。

在Ubuntu系统中,SSH是远程登录的首选协议,基本实现了无物理接触即可管理服务器资源。

Ubuntu系统SSH服务的安装步骤

Ubuntu默认并不启用SSH服务,需要手动安装OpenSSH Server组件。

步骤1:更新软件源

sudo apt update && sudo apt upgrade -y

保持系统和软件包为最新版本是安全配置的第一步。

步骤2:安装OpenSSH Server

sudo apt install openssh-server -y

安装完成后,SSH服务会自动启动。可通过如下命令查看服务状态:

sudo systemctl status ssh

若输出状态为“active (running)”,则说明SSH服务已成功运行。

使用SSH客户端连接Ubuntu服务器

方法1:命令行连接(适用于Linux或Mac客户端)

ssh username@server_ip

若首次连接,系统会提示是否信任该主机的指纹,输入yes即可。随后输入服务器账户密码即可登录。

方法2:使用Windows客户端(如PuTTY、Xshell)

  • 在“Host Name”中填写服务器IP;
  • 默认端口为22,用户名填写系统账户名;
  • 点击“Open”后输入密码即可连接。

安全性配置:修改SSH默认端口

SSH默认监听22端口,这使得许多自动化暴力破解工具专门扫描该端口进行尝试。因此,修改默认端口是最基础的防护手段。

步骤1:编辑配置文件

sudo nano /etc/ssh/sshd_config

找到以下行并修改端口号(如2222):

#Port 22
Port 2222

去掉注释符#后保存文件。

步骤2:重启SSH服务

sudo systemctl restart ssh

注意:在云服务器控制台中,需放行新端口(如2222),否则连接将被防火墙阻挡。

配置基于密钥的SSH认证(强烈推荐)

密码登录存在被爆破的风险,建议采用基于公钥/私钥的认证方式。

步骤1:客户端生成密钥对

在本地终端执行以下命令:

ssh-keygen -t rsa -b 4096

系统会提示保存位置(默认~/.ssh/id_rsa),可直接回车生成。之后将看到如下文件:

  • id_rsa: 私钥,仅保存在本地;
  • id_rsa.pub: 公钥,可上传至服务器。

步骤2:将公钥复制至Ubuntu服务器

ssh-copy-id -p 2222 username@server_ip

若无法使用该命令,也可手动将id_rsa.pub内容追加至服务器的~/.ssh/authorized_keys文件中。

步骤3:关闭密码登录(可选但推荐)

再次编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

设置如下项:

PasswordAuthentication no
ChallengeResponseAuthentication no

然后重启服务:

sudo systemctl restart ssh

此后仅允许通过私钥连接,提高服务器抗入侵能力。

限制SSH访问来源IP

如果您的运营环境允许固定IP登录,可以进一步通过防火墙(限制SSH访问IP。

使用UFW限制IP访问SSH端口:

sudo ufw allow from 203.0.113.88 to any port 2222

仅允许指定IP(如203.0.113.88)访问SSH端口。

启用UFW防火墙:

sudo ufw enable

查看状态:

sudo ufw status

该方法适用于内网、办公固定IP等场景,能够有效阻断大多数非法扫描行为。

设置登录欢迎信息与SSH Banner(可选)

可在SSH登录前展示系统警告或公司声明,作为法律声明或提示信息。

编辑banner文件:

sudo nano /etc/issue.net

写入内容如:

Unauthorized access to this system is prohibited.
All activities may be monitored and logged.

修改SSH配置以启用:

Banner /etc/issue.net

重启服务生效:

sudo systemctl restart ssh

常见问题与故障排查建议

Q1:修改SSH端口后无法连接

A1:检查是否已放行新端口;检查防火墙(UFW)是否允许;是否正确重启SSH服务。

Q2:密钥认证失败

A2:检查权限:~/.ssh目录权限需为700,authorized_keys为600;确保公钥内容未换行、无乱码;查看服务器日志 /var/log/auth.log 获取认证错误详情。

Q3:远程连接卡顿

A3:排查网络质量,可通过UseDNS no 优化SSH连接速度,配置在 /etc/ssh/sshd_config 中。

Ubuntu系统通过SSH远程管理的方式,兼具便利性与高效率。但若默认配置不加以强化,极易成为攻击者的目标。通过本文介绍的安装、端口调整、密钥登录、访问控制等多种方式,可以将Ubuntu服务器的SSH访问打造成一个既高效又安全的管理通道。

华纳云 推荐文章
怎么在香港服务器Ubuntu系统上配置静态ip 美国服务器Ubuntu系统如何配置SSH访问 Ubuntu系统上生成SSH密钥的步骤 Ubuntu系统下Apache日志轮转如何设置 盘点老旧Ubuntu系统加速技巧 Ubuntu系统中删除PPA存储库的操作方法 Ubuntu系统管理apt-get命令精选 服务器Ubuntu系统安装git时会提示错误? Ubuntu系统中删除有问题PPA存储库 Ubuntu系统安装垃圾清理工具 BleachBit详细步骤
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持