作为”VPS之家”的站长,我经常收到新手朋友们的提问:”购买了VPS后,该如何SSH连接服务器呢?“我完全理解这种困惑。还记得我刚接触服务器时,面对黑乎乎的命令行也是一头雾水。”这些英文命令看起来好复杂啊!”、”连接失败是哪里出了问题?”——这些都是我曾经的疑问。
如果你已经了解VPS是什么并选购了合适的VPS,但不知道怎么连接服务器,不用担心,每个技术大牛都有新手的时候。今天,我将基于10年服务器运维经验,手把手教你如何使用SSH连接服务器,介绍两种主流的SSH远程连接方式,让你即使是零基础也能轻松掌握这项必备技能。
无论你是想管理自己的网站、部署应用程序,还是仅仅想学习Linux系统,掌握SSH连接服务器都是你必须跨过的第一道门槛。让我们一起开始这段SSH连接之旅吧!
文章目录
SSH的安全机制
在深入了解SSH连接方法之前,我想先和大家聊聊SSH的安全机制。毕竟,当我们谈论远程连接服务器时,安全性是首要考虑的因素。
SSH的加密保障
SSH(Secure Shell)之所以称为”安全外壳”,正是因为它采用了强大的加密机制。在我多年管理服务器的经验中,SSH的安全性从未让我失望。它主要通过以下几层保护确保连接安全:
- 对称加密:用于加密整个连接的数据传输
- 非对称加密:用于密钥交换过程,确保密钥安全传递
- 哈希算法:验证数据完整性,防止数据被篡改
- 数字签名:验证服务器身份,防止中间人攻击
这么多加密技术,是不是有点复杂?别担心,这些安全机制都在后台自动运行,作为用户,你只需要知道你的连接是受到多重保护的。
SSH客户端与服务端的关系
理解SSH工作原理的一个简单方式是将其视为”对话”:
- SSH客户端:就是你电脑上的软件(如PuTTY),负责发起连接请求
- SSH服务端:运行在远程服务器上的程序,默认监听22端口,等待并处理连接请求
当我第一次理解这个概念时是这样的:SSH就像是服务器的一扇门,而我手中有钥匙可以开启它!
SSH的认证方式
SSH支持多种认证方式,主要有:
- 密码认证:最简单的方式,使用账号密码登录
- 密钥认证:更安全的方式,使用公钥和私钥对
- 私钥:保存在本地,相当于你的”钥匙”
- 公钥:保存在服务器,相当于服务器上的”锁”
- 双因素认证:结合密码和密钥,或添加其他验证因素,提供更高安全性
我个人强烈推荐使用密钥认证。记得有一次,我管理的一台服务器遭遇了暴力破解密码攻击,而使用密钥认证的服务器则安然无恙。
SSH与其他远程连接方式的比较
除了SSH,还有其他远程连接服务器的方式,如:
- Telnet:SSH的前身,数据传输完全不加密,现在几乎已被淘汰
- RDP(Remote Desktop Protocol):主要用于Windows服务器的图形界面远程控制
- VNC(Virtual Network Computing):跨平台的图形界面远程控制协议
应该选择哪种连接方式呢?这取决于你的需求。如果是管理Linux/Unix服务器,SSH无疑是最佳选择;如果需要图形界面操作Windows服务器,则RDP更合适。
在我的服务器管理生涯中,SSH一直是我的首选工具。它不仅安全可靠,而且资源占用少,即使在网络条件不佳的情况下也能保持稳定连接。
安装SSH服务:大多数情况可跳过
在开始连接服务器之前,我想先说明一点:大多数VPS提供商的服务器镜像都已预装了SSH服务。无论是CentOS、Ubuntu、Debian还是其他Linux发行版,SSH服务通常都是默认安装并启用的。所以,如果你刚购买了VPS,很可能可以直接跳过本节,直接尝试连接。
只有当你无法连接服务器,或者确定需要重新安装SSH服务时,才需要回到这一步。我曾经遇到过几次需要重新配置SSH的情况,主要是在自己搭建测试环境或者处理被误删配置的服务器时。
如何确认SSH服务是否已安装并运行
如果你已经能够通过某种方式(如VPS提供商的网页控制台)访问服务器,可以运行以下命令检查SSH服务状态:
# CentOS/RHEL系统
systemctl status sshd
# Ubuntu/Debian系统
systemctl status ssh
如果看到”active (running)”的提示,说明SSH服务已经正常运行。
安装SSH服务
如果确实需要安装SSH服务,以下是不同Linux发行版的安装步骤。
Ubuntu/Debian系统
# 先更新软件包列表
apt update
# 安装OpenSSH服务器
apt install openssh-server -y
# 启动SSH服务并设置开机自启
systemctl start ssh
systemctl enable ssh
CentOS/RHEL系统
# 安装OpenSSH服务器:
yum install openssh-server -y
# systemctl start sshd
systemctl enable sshd
配置SSH服务
安装完成后,SSH服务的配置文件位于/etc/ssh/sshd_config
。你可以根据需要修改这个文件来自定义SSH服务的行为。
注意:修改前先复制一份配置文件,用于异常时快速恢复。
# 备份
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.back
# 恢复
cp /etc/ssh/sshd_config.back /etc/ssh/sshd_config
一些常见的配置修改包括:
- 更改默认端口(提高安全性):
# 找到并修改这一行
Port 22
# 改为其他端口,如2222
Port 2222
- 禁用root用户直接登录(提高安全性):
# 找到并修改这一行
PermitRootLogin yes
# 改为
PermitRootLogin no
- 启用密钥认证并禁用密码认证(大幅提高安全性):
# 确保以下设置存在并正确
PubkeyAuthentication yes
PasswordAuthentication no
修改配置后,需要重启SSH服务使更改生效:
# CentOS/RHEL
systemctl restart sshd
# Ubuntu/Debian
systemctl restart ssh
没有SSH连不上VPS,怎么执行这些命令呢?别担心,大多数VPS提供商都提供网页控制台(Web Console)或VNC接口,你可以通过这些方式访问服务器并执行上述命令。
记住,如果你修改了SSH端口或禁用了密码认证,确保在断开连接前测试新设置是否正常工作,否则可能会将自己锁在服务器之外!我曾经就犯过这样的错误,不得不联系技术支持重置服务器。
第一种SSH连接方式:命令行连接
命令行连接是最基础、最直接的SSH连接方式。无论你是系统管理员还是开发人员,掌握命令行SSH连接都是必备技能。我在日常工作中最常用的就是这种方式,因为它简单高效,几乎在所有操作系统上都可用。
Windows系统使用命令行SSH连接
Windows 10和Windows 11已经内置了SSH客户端,这是微软近年来对开发者友好政策的一部分。如果你使用的是较旧版本的Windows,可能需要安装第三方工具,我们稍后会提到。
使用Windows内置SSH客户端
- 打开”命令提示符”或”PowerShell”(可以在开始菜单中搜索)
- 输入SSH连接命令:
# 例如服务器IP是123.45.67.89,用户名是root
ssh root@123.45.67.89
- 首次连接时,系统会提示你确认服务器的指纹信息,输入
yes
并回车 - 然后输入密码(输入时不会显示任何字符,这是正常的安全措施)
- 成功登录后,你会看到服务器的欢迎信息和命令提示符
如果你使用的是旧版Windows
对于Windows 7/8等没有内置SSH客户端的系统,你可以:
- 安装Git for Windows,它包含Git Bash工具,提供SSH功能
- 或者下载并安装OpenSSH for Windows
安装后,操作方式与上述相同。
Mac系统使用命令行SSH连接
Mac作为基于Unix的系统,天生就支持SSH连接,使用起来非常方便。
- 打开”终端”应用(可以通过Spotlight搜索或在应用程序/实用工具中找到)
- 输入SSH连接命令:
# 例如服务器IP是123.45.67.89,用户名是root
ssh root@123.45.67.89
- 首次连接时确认服务器指纹,输入
yes
- 输入密码(输入时不会显示任何字符,这是正常的安全措施)
- 连接成功后即可操作服务器
命令行SSH连接的高级用法
掌握了基本连接后,我想分享一些我日常使用的高级技巧:
1. 指定端口连接
如果SSH服务不是运行在默认的22端口,需要使用-p
参数指定端口:
ssh -p 2222 root@123.45.67.89
2. 使用密钥认证
使用密钥认证比密码更安全,也更方便(不用每次输入密码):
ssh -i /path/to/private_key root@123.45.67.89
在Windows上,路径可能是:
ssh -i C:\Users\YourName\.ssh\id_rsa root@123.45.67.89
在Mac上,路径通常是:
ssh -i ~/.ssh/id_rsa root@123.45.67.89
第二种SSH连接方式:图形SSH客户端
作为一名服务器管理员,我深知图形界面SSH客户端对于新手的友好性。虽然命令行是我的日常工作方式,但我经常向初学者推荐图形界面客户端,因为它们直观、易用,能够大大降低入门门槛。接下来,我将分享如何在Windows和Mac系统上使用图形界面客户端连接VPS。
Windows用户如何使用图形界面客户端连接VPS
在Windows平台上,PuTTY是最受欢迎的SSH客户端之一。我记得我刚开始接触服务器时,PuTTY就是我的”入门老师”。
使用PuTTY连接Linux VPS
- 下载并安装PuTTY
- 访问PuTTY官方网站下载安装包
- 运行安装程序,按照提示完成安装
- 配置连接
- 打开PuTTY
- 在”Host Name (or IP address)”框中输入你的VPS的IP地址
- 确保”Connection type”选择的是SSH,端口默认为22
- 你可以在左侧导航栏中展开”Connection”,然后点击”Data”,在”Auto-login username”中填入你的用户名,这样每次连接时就不需要重复输入了
- 保存会话配置(可选但推荐)
- 回到”Session”页面
- 在”Saved Sessions”框中输入一个名称(如”我的VPS”)
- 点击”Save”按钮保存配置
- 开始连接
- 点击”Open”按钮
- 首次连接时,会弹出安全警告,询问是否信任该主机,点击”是”
- 输入你的密码(注意:输入时不会显示任何字符)
- 成功后,你将看到服务器的命令行界面

第一次使用PuTTY时,我总是担心输入密码时没有任何显示是不是出了问题,不用担心,但这其实是一种安全措施,防止别人看到你输入了多少字符。
市面上有很多Windows图形界面SSH客户端推荐,可以查看我们推荐的SSH客户端。
Mac用户如何使用图形界面客户端连接VPS
Mac系统虽然自带Terminal可以直接使用命令行SSH,但使用SSH客户端可以记录并管理多个VPS登录信息。
使用iTerm2连接Linux VPS
iTerm2是Mac上最受欢迎的终端替代品,提供了比系统自带Terminal更丰富的功能。
- 下载并安装iTerm2
- 访问iTerm2官网下载安装包
- 将下载的.zip文件解压,然后将iTerm应用拖到Applications文件夹
- 使用iTerm2连接服务器
- 打开iTerm2
- 输入SSH连接命令:
ssh 用户名@服务器IP地址
- 首次连接时确认服务器指纹,输入”yes”
- 输入密码完成连接
- 创建配置文件(可选)
- 你可以在iTerm2中创建配置文件,方便快速连接
- 点击”Profiles” -> “Open Profiles”
- 点击”+”添加新配置
- 填写名称、命令(如
ssh root@123.456.789.10
)等信息 - 保存后,可以通过配置文件列表快速连接

SSH连接服务器常见问题(FAQ)
在我多年管理服务器的经验中,发现新手朋友们经常会遇到一些共同的问题。这里我整理了最常见的问题和解答,希望能帮助你解决在SSH连接过程中可能遇到的困惑。
Q1: 连接时提示”Connection refused”是什么原因?
A: 这通常有几种可能:
- SSH服务没有运行或未安装
- 服务器防火墙阻止了SSH连接(默认22端口)
- 服务器IP地址输入错误
- SSH服务配置为使用非标准端口
解决方法:确认SSH服务已安装并运行,检查防火墙设置,确认IP地址和端口正确。
Q2: 首次连接时出现的指纹确认是什么意思?需要担心吗?
A: 这是SSH的安全机制,用于防止中间人攻击。当你首次连接到一个服务器时,SSH客户端会记录该服务器的唯一指纹。如果是你第一次连接,确认即可。但如果是已连接过的服务器突然要求确认新指纹,则需要警惕,可能存在安全风险。
Q3: 如何解决”Permission denied (publickey,password)”错误?
A: 这个错误表示认证失败,可能原因有:
- 用户名或密码错误
- 服务器禁用了密码认证,只允许密钥认证
- 密钥文件权限设置不正确
解决方法:检查用户名密码,或正确设置SSH密钥认证。
Q4: SSH连接经常断开,如何保持长时间连接?
A: 可以通过以下方式解决:
- 在SSH客户端配置中启用心跳包(keepalive)
- 修改服务器的SSH配置,增加
ClientAliveInterval
和ClientAliveCountMax
值 - 使用
screen
或tmux
等工具在服务器端保持会话
Q5: 如何在不输入密码的情况下安全连接服务器?
A: 设置SSH密钥认证是最佳方式。基本步骤是:
- 在本地生成SSH密钥对
- 将公钥上传到服务器
- 确保服务器SSH配置允许密钥认证
这样设置后,连接时就不需要输入密码了,既方便又安全。
Q6: Windows和Mac的SSH客户端有什么主要区别?
A: 主要区别在于:
- Mac自带Terminal支持SSH命令,Windows 10以上版本才内置SSH客户端
- Windows用户通常需要额外安装PuTTY等工具
- 文件路径表示方式不同(Windows使用反斜杠\,Mac/Linux使用正斜杠/)
- 密钥文件格式可能不同,有时需要转换
功能上两者都能完成SSH连接的基本任务,选择哪个主要看个人习惯。
总结
通过本文的学习,我们已经掌握了SSH连接服务器的两种主要方式:命令行连接和图形界面客户端连接。无论你是Windows用户还是Mac用户,都能找到适合自己的连接方法。
工欲善其事,必先利其器。选择一个你用着顺手的SSH客户端,熟悉它的各项功能,将大大提高你管理服务器的效率。
记住,服务器管理是一个不断学习的过程。当初我也是从一个对SSH一无所知的新手开始,通过不断实践和学习,逐渐掌握了各种技巧。相信你也可以!
希望本文对你了解和使用SSH连接服务器有所帮助。如果你有任何问题,欢迎随时向我咨询。祝你的服务器之旅顺利愉快!
附录:如何连接Windows VPS
除了Linux服务器外,有些用户可能需要连接Windows VPS。与SSH连接不同,Windows VPS通常使用远程桌面协议(RDP)进行连接。作为”VPS之家”的站长,我也经常需要管理Windows服务器,下面分享一下连接Windows VPS的方法。
Mac 连接Windows VPS
对于Windows VPS,我们需要使用远程桌面连接。Mac上我们可以使用Microsoft Remote Desktop这款软件,它可以在App Store免费下载。以下是连接步骤:
- 打开Microsoft Remote Desktop
- 点击”Add PC”或”+”按钮添加新的连接
- 在”PC name”中输入你的Windows VPS的IP地址
- 在”User account”中选择”Add User Account”,然后输入你的Windows VPS的用户名和密码
- 点击”Add”保存设置
- 双击新创建的连接项来启动连接

Windows连接Windows VPS
对于Windows VPS,我们使用Windows自带的远程桌面连接工具。操作步骤如下:
- 打开开始菜单,搜索并运行”远程桌面连接”
- 在”计算机”框中输入你的Windows VPS的IP地址
- 点击”连接”
- 在弹出的窗口中输入你的Windows VPS的用户名和密码
- 点击”确定”进行连接

远程桌面连接的注意事项
- 端口问题 :Windows远程桌面默认使用3389端口,确保VPS提供商没有封禁该端口
- 安全性 :考虑使用VPN或设置防火墙规则限制RDP访问来源,增强安全性
- 性能调整 :如果网络条件不佳,可以在远程桌面连接设置中降低显示质量,提高响应速度
虽然本文主要讲解SSH连接,但我认为掌握Windows VPS的连接方法同样重要,毕竟不同的项目可能需要不同类型的服务器环境。