刚拿到一台服务器的时候,绝大多数人的第一反应都是同一个:我怎么上去?怎么把代码和文件放上去?
这两个问题,看起来简单,实际上贯穿了从开发、部署到日常维护的整个周期。无论你是用云服务器练手,还是在公司机房里维护一台 Linux 服务器,“服务器的连接以及文件的上传”都是最基础也最绕不开的操作。很多教程把这件事拆得七零八落,今天我把它们串在一起,从连接原理讲到具体命令,再讲到上传文件时最容易踩的坑,一步不落走一遍。
这篇内容适合三类人:刚买了云服务器不知道从哪里开始的新手;用 VSCode 连着远程服务器开发、但对 scp 和 rsync 不太熟的开发者;以及想搞清楚文件上传为什么老是出问题的运维新人。看完之后,你能自己完成从登录服务器到把本地文件传上服务器的完整闭环,并且知道出问题时该往哪个方向排查。
1. 连接服务器之前,先把这几件事想明白
1.1 你说的“连接服务器”,到底是连什么
很多人以为“连接服务器”就是把电脑和一台远方的机器连起来,像插一根网线一样简单。其实不是。我们平时说的连接服务器,本质是“远程登录”——你在本地电脑上输入命令,服务器执行,然后把结果回传给你。这个过程依赖的是 SSH 协议。
SSH(Secure Shell)是一种加密的网络协议,默认跑在 22 端口。它干的事情,就是让你安全地远程登录到另一台机器上执行命令。为什么强调“安全”?因为早年大家用 Telnet,明文的,谁在网络上抓包谁就能看到你的密码,跟把家门钥匙插在锁孔里没区别。SSH 把所有流量都加密了,所以成了事实标准。
理解这一点有个实际好处:当你配置防火墙或者云服务器安全组时,就知道该放行哪个端口。默认 22 端口,如果你改了端口,就要同步改防火墙规则,不然后面怎么连都连不上。
1.2 SSH 登录的两把钥匙:密码登录与密钥登录
连接服务器时,身份认证有两种主流方式。
第一种是密码登录。就是你在本地输入 ssh 用户名@服务器IP,然后输入密码。简单直接,适合初次使用。缺点也很明显:密码容易泄露,容易被人暴力尝试。我在真实环境里见过不少被扫爆的服务器,root 密码设置得再复杂,暴露在公网上也扛不住持续的字典攻击。
第二种是密钥登录。原理是本地生成一对密钥——一把公钥、一把私钥。你把公钥放到服务器的 ~/.ssh/authorized_keys 文件里,私钥留在本地。连接时,服务器用公钥验证你的身份,本地用私钥应答。这个机制可以理解成配了一把专属钥匙:公钥是锁,私钥是钥匙,钥匙只有你有。
我现在所有服务器都用密钥登录。生产环境直接禁用密码认证,只有需要临时访问时才临时开。这个习惯能挡住绝大多数自动化攻击。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 从零到一:搭建一套最顺手的连接环境
2.1 最常用也最稳的一种连接方式:SSH 命令行
不管你的电脑是 Windows、macOS 还是 Linux,SSH 客户端基本都自带了。Windows 10 之后的系统自带 OpenSSH 客户端,可以直接在 PowerShell 或 CMD 里运行 SSH 命令,不需要额外安装软件。
连接命令非常简单:
bash复制ssh 用户名@服务器IP
如果你是第一次连接,会看到提示确认服务器的指纹,输入 yes 回车即可。然后输入密码,就能登录到服务器的 shell 环境。
这里我强烈建议新手做一件事:不要用 root 直接登录。原因是 root 权限太大,一旦操作失误,影响面无法挽回。更稳妥的做法是:
bash复制# 在服务器上创建新用户(仅第一次需要)
adduser devops
# 给新用户 sudo 权限
usermod -aG sud
