SSH+VSCode+Remote 连接服务器

本文详细介绍如何使用VSCode通过SSH远程连接服务器进行代码编辑,包括生成密钥、配置远程服务器、安装VSCode插件及设置,实现无缝切换本地与远程开发环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考了很多博客废话太多,总结如下

Step1 生成密钥公钥,上传服务器

ssh-keygen    #生成公钥和密钥
ssh-copy-id username@remote-server    #将生成的公钥上传服务器,ssh-copy-id是操作
                                      #后面是用户名和服务器id
  1. 记住自己的.ssh文件夹在哪里,后面会用到路径

Step2 安装VSCode,在插件中搜索remote-ssh,安装重启

  1. 老版本的VScode不支持这一插件,建议升级最新版
  2. 点击左侧新出现的显示器按钮
  3. 在setting.json中修改remote.SSH.showLoginTerminal为ture
  4. 让你选择config文件放在哪里,回车即可新建并编辑config文件。config文件编写方式如下:
  5. Host AliServer
    	HostName 1.1.1.1 # 填写远程服务器的IP或者Host
    	User     username # 填写登陆远程服务器的用户的名字
    ##注意不要保留注释部分,在连接过程中会报错

     

  6. config文件必须放到被授权的rsa秘钥所在的文件目录,及Step1中提到的.ssh文件夹

Step3 点击界面上的AliServer会弹出新窗口,连接成功。

剩下的就跟用自己电脑上的VScode一样,可以从File->folder中打开服务器中上的文件夹。

##就放一幅图,需要注意的①②③图中标出了

 

========================2020更新========================

现在更简单了,安装好remote-ssh后,直接点左下角这个

 在坐上面输ssh命令即可,甚至可以指定端口,按提示选择操作系统,输入密码就完事儿了

附内网穿透搭建本地服务器教程

https://blog.youkuaiyun.com/maguanzhan7939/article/details/107935823

### 配置VSCode通过Remote-SSH连接到远程Ubuntu服务器 为了使 Visual Studio Code (VSCode) 能够通过 Remote-SSH 连接到远程 Ubuntu 服务器,需遵循一系列特定设置。确保本地计算机已安装最新版本的 VSCodeRemote-SSH 扩展。 #### 安装必要的软件包 在本地机器上打开 VSCode 并前往扩展市场搜索并安装 Microsoft 提供的官方 `Remote - SSH` 插件[^1]。此插件允许开发人员直接从编辑器内部管理与远端系统的交互过程。 #### 设置SSH密钥认证 对于更安全的身份验证方式,在客户端和目标主机之间建立基于公私钥对的安全通道至关重要。这通常涉及创建一对新的 RSA 或 ED25519 类型的加密钥匙,并将其公共部分复制粘贴至 `/home/your_username/.ssh/authorized_keys` 文件中位于远程 Linux 主机的位置。 #### 编辑配置文件 接着修改用户的 SSH 配置文档 (`~/.ssh/config`) 来简化命令行参数输入流程: ```bash Host myserver HostName your.server.ip.or.domain.name User username_on_remote_machine IdentityFile ~/.ssh/id_rsa_or_other_private_key_path ``` 上述片段定义了一个名为 `myserver` 的快捷别名用于后续操作;同时指定了对应的 IP 地址或者域名以及登录用户名还有私钥路径以便自动加载。 #### 使用VSCode发起连接请求 完成以上准备工作之后,回到 IDE 内部按下 F1 键调出命令面板,键入 “Remote-SSH: Connect to Host...”,选择之前自定义好的条目(即这里的 `myserver`)。此时会弹窗提示是否继续执行该动作,确认无误后点击 OK 即可触发实际链接行为。 一旦成功建立了稳定可靠的网络链路,则可以在左侧活动栏找到新加入的工作区选项卡——它代表着当前所处环境已经切换到了指定的目标节点之上。现在可以像平常一样浏览项目结构、启动调试会话或是利用终端窗口下达各种指令了。 #### 注意事项 考虑到安全性因素,默认情况下 UFW(防火墙) 可能阻止外部尝试建立 TCP/IP 层面上的数据交换。如果遇到无法正常通信的情况,请核查相应端口是否开放。例如 MySQL 数据库服务监听于 3306 端口号,可通过如下所示的方式调整策略以放宽限制条件[^2]: ```bash sudo ufw allow 3306/tcp ``` 不过值得注意的是这样做存在潜在风险,建议仅限测试用途或受控环境下采用此类做法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值