一、为什么我的键盘突然不香了?
最近发现身边同事都在用VSCode远程开发(偷偷观察的),看着他们优雅地在本地改代码,服务器自动同步运行,我的F5键突然就不香了!作为一个常年用vim硬核操作的"伪极客",终于决定向现实低头…
(小声BB)其实最戳痛点的是:再也不用在10寸笔记本屏上开三个终端窗口了!更不用忍受MobaXterm那复古的界面了!下面就把我踩过的坑都告诉你,保证5分钟上车!
二、准备工作别偷懒(血泪教训)
1. 服务器端要确认的3件事
- SSH服务必须开着(sudo service ssh status)
- 防火墙别拦22端口(重要!)
- 你的账号要有登录权限(特别是云服务器)
2. 本地必备三件套
- 最新版VSCode(官网下载速度慢?试试国内镜像站)
- Remote-SSH扩展(微软官方出品,认准蓝标)
- 靠谱的网络连接(别用那个总断的星巴克WiFi!)
三、连接实战六步走(附排坑指南)
步骤1:安装插件要认准
在扩展商店搜索"Remote - SSH",注意看作者是Microsoft的那个。安装完左侧会出现个小电脑图标(超重要标记点!)
步骤2:配置连接有玄机
- 按F1调出命令面板
- 输入"Remote-SSH: Connect to Host"
- 选"Add New SSH Host"
这里有个巨坑(敲黑板):连接命令建议用这种格式:
ssh username@hostname -p port
特别是云服务器用户!很多默认端口不是22,漏写-p参数绝对连不上!
步骤3:配置文件要摸透
打开~/.ssh/config
文件(没有就新建),推荐这样写:
Host my-awesome-server
HostName 12.34.56.78
User ubuntu
Port 2222
IdentityFile ~/.ssh/id_rsa
(划重点)密钥登录更安全!用ssh-keygen
生成密钥对,把公钥传到服务器~/.ssh/authorized_keys
步骤4:首次连接要耐心
第一次连接会卡在"Setting up SSH Host XX: Copying VS Code Server…"这里,等个1-3分钟正常(别手贱关窗口!)
如果卡超过5分钟,试试:
- 检查服务器磁盘空间(df -h)
- 看服务器是否能访问海外资源(有些要配置代理)
步骤5:文件操作有技巧
连接成功后,左侧资源管理器会显示服务器文件系统。这时候:
- 右键文件夹可以下载到本地
- 直接拖拽文件就能上传
- 修改文件自动保存到服务器(比scp方便100倍!)
步骤6:终端使用小心机
按Ctrl+`打开集成终端,你会发现:
- 支持多标签页(终于不用开多个ssh连接了!)
- 可以直接在VSCode里用vim(真·套娃操作)
- 支持分屏(适合一边看日志一边操作)
四、高级玩法解锁区
1. 端口转发超实用
在.ssh/config
添加:
LocalForward 8888 localhost:8888
就能把服务器的Jupyter Notebook映射到本地localhost:8888!
2. 多服务器管理妙招
给不同服务器设置不同颜色标签:
Host dev-server
HostName 1.1.1.1
User dev
HostColorOverride green
Host prod-server
HostName 2.2.2.2
User prod
HostColorOverride red
3. 配置文件同步大法
把SSH配置放到GitHub私有库,换电脑时直接克隆,再软链接到~/.ssh/config
,完美实现配置同步!
五、常见翻车现场救援
翻车1:连接超时(Timeout)
- 检查网络是否能ping通服务器
- 试试
ssh -v
看详细日志 - 云服务器记得配置安全组规则
翻车2:权限被拒绝(Permission denied)
- 确认使用正确的密钥
- 检查
authorized_keys
文件权限必须是600 - 服务器selinux是否关闭
翻车3:中文乱码
在服务器端执行:
echo 'export LANG="en_US.UTF-8"' >> ~/.bashrc
source ~/.bashrc
六、真香警告
自从用上这个功能,我的开发效率至少提升了30%!特别是调试Docker容器时,再也不用在服务器和本地来回切换。最惊喜的是——居然支持在iPad上写代码了!(配合code-server食用更佳)
最后送大家一个私藏技巧:在远程窗口按Ctrl+Shift+P
输入"Remote-SSH: Open Configuration File…",可以直接编辑配置文件,比手动找路径方便多了!
(突然正经)说真的,这个功能彻底改变了我的工作流。如果你还在用传统SSH客户端,真的建议试试,说不定就打开新世界的大门了呢?