非root用户VS Code连接远程服务器

本文记录了在Linux服务器上配置VS Code免密登录的过程。先在本地命令行生成密钥,若操作失败可通过设置系统环境变量解决,再将公钥上传至服务器并修改权限、重启SSH服务。接着在VS Code应用商店安装Remote Development插件,配置ssh信息,最后进行连接,若失败可重启VS Code重试。

捯饬了大半天的时间,在网上搜索了一圈,整理了一下,记录下来
参考 https://www.jianshu.com/p/32aa2fa936bb(这个最有用,自己对出现的问题做了调整)

1.配置免密登录

win + R 输入cmd进入命令行窗口,输入ssh,显示ssh的帮助,则表明本地ssh已经成功安装
在这里插入图片描述
cd .ssh进入.ssh目录,输入ssh-keygen -t rsa ,生成密钥,一直回车即可
在这里插入图片描述
这时在你的.ssh文件夹里会有两个文件,id_rsa是密钥,id_rsa是公钥。
这一过程可能会操作失败,这时候去系统环境变量中新建HOME系统变量,内容是当前用户的系统所在路径,如C:\Users\XXX,保存后从新按照上面步骤操作即可。

接着将上传公钥至服务器端个人所在的根目录的.ssh/下,由于是非root用户,所以需要在远程服务器进行以下步骤:
若不存在.ssh/,手动创建 mkdir .ssh,将id_rsa.pub上传至该目录,将id_rsa.pub的内容追加至authorized_keys,执行 cat id_rsa.pub >> authorized_keys

修改authorized_keys权限为600 chmod 600 authorized_keys
修改.ssh/权限为700 chmod 700 .ssh
重启服务器端SSH sudo service sshd restart

至此后面可以去VS Code配置了

VS Code配置

在应用商店输入Remote Development 插件,安装
在这里插入图片描述
配置ssh 通常选第一个配置文件,添加配置信息
在这里插入图片描述
在这里插入图片描述
这里注意,可以不配置端口号port

连接

任选一个打开,选择Linux
在这里插入图片描述
在这里插入图片描述
在这里如果连接失败,可以重新启动VS Code尝试再次连接
最后就可以达到如下效果
在这里插入图片描述

<think>我们正在讨论如何使用VS Code连接远程SSH服务器用户已经提供了两个引用,说明他们可能已经了解了一些基本步骤,但遇到了问题或需要更详细的指导。 根据引用[1]和[2],我们知道在Windows下的VS Code连接Ubuntu远程主机需要安装Remote-SSH扩展,并且可能会遇到下载VS Code Server的问题。 因此,我们的回答应该包括: 1. 安装Remote-SSH扩展 2. 配置SSH主机 3. 连接远程主机 4. 解决可能遇到的问题(如引用[2]中提到的下载VS Code Server的问题) 注意:用户上一次的问题是关于如何上传本地文件到SSH服务器,但这次是询问如何使用VS Code连接远程SSH服务器。虽然两者都与SSH有关,但这是两个不同的操作。 回答结构: 一、安装必要工具 二、配置SSH主机 三、连接远程服务器 四、常见问题解决(包括引用[2]中提到的问题) 五、相关问题 注意:我们不需要重复文件上传的内容,因为用户这次的问题已经转变。</think>### 如何在 VS Code连接远程 SSH 服务器 以下是详细操作步骤(以 Windows 连接 Ubuntu 服务器为例): #### 一、安装必要组件 1. **安装 Remote - SSH 扩展** - 在 VS Code 扩展商店搜索 "Remote - SSH" - 安装 Microsoft 官方扩展(如下图) ![Remote-SSH 扩展](https://code.visualstudio.com/assets/docs/remote/ssh/ssh-extension.png)[^1] 2. **确保远程服务器已启用 SSH** ```bash # 在 Ubuntu 服务器执行 sudo apt update && sudo apt install openssh-server sudo systemctl enable ssh && sudo systemctl start ssh ``` #### 二、配置连接 1. **打开 SSH 配置面板** - 点击 VS Code 左下角绿色按钮 > "Connect to Host..." - 选择 "Configure SSH Hosts" > 用户配置文件(通常为 `C:\Users\你的用户名\.ssh\config`) 2. **编辑配置文件** 添加以下内容(示例): ```config Host MyServer # 自定义别名 HostName 192.168.1.100 # 服务器IP User ubuntu # 用户名 Port 22 # SSH端口(默认22可省略) IdentityFile ~/.ssh/id_rsa # 密钥路径(可选) ``` > 密钥登录更安全,生成密钥:`ssh-keygen -t rsa`[^1] #### 三、连接服务器 1. **建立连接** - 按 `Ctrl+Shift+P` 打开命令面板 - 输入 "Remote-SSH: Connect to Host" > 选择配置的别名(如 `MyServer`) - 首次连接需输入密码(若未配置密钥) 2. **打开远程目录** - 连接成功后,VS Code 左下角显示 `SSH: MyServer` - 通过资源管理器打开远程目录(如 `/home/ubuntu/projects`) #### 四、常见问题解决 1. **VS Code Server 卡住下载** - 手动下载对应版本: ```bash # 在本地终端执行 scp -r ~/.vscode-server/bin/<commit-id> user@host:~/.vscode-server/bin/ ``` - 获取 commit-id:查看 VS Code 帮助 > 关于[^2] 2. **连接超时** - 检查防火墙设置:`sudo ufw allow 22` - 验证网络连通性:`ping 服务器IP` - 尝试使用域名替代 IP #### 五、高级功能 | 功能 | 操作路径 | 说明 | |-----------------------|-----------------------------------|--------------------------| | 端口转发 | 远程资源管理器 > 端口 > 添加端口 | 访问远程服务如 `localhost:8000` | | 远程开发容器 | 安装 Dev Containers 扩展 | 在 Docker 环境中开发 | | 同步设置 | 设置 > 同步开启 | 跨设备同步 VS Code 配置 | > 操作示意图: > ![VS Code 远程连接](https://code.visualstudio.com/assets/docs/remote/ssh/ssh-status-bar.png)[^1] --- ### 注意事项 1. **权限管理** - 避免使用 root 账户,通过 `sudo` 提权 - 敏感文件权限设为 `600`:`chmod 600 ~/.ssh/config` 2. **连接优化** ```config # SSH 配置添加优化参数 Host * TCPKeepAlive yes ServerAliveInterval 60 ``` 3. **多平台支持** - macOS/Linux 操作相同,配置文件路径为 `~/.ssh/config` - Android 可通过 Termux 实现类似功能 --- ### 相关问题 1. 如何通过 VS Code远程服务器调试 Python 代码? 2. 连接 SSH 时出现 "Permission denied" 错误如何解决? 3. 如何配置 VS Code 实现免密登录远程服务器? 4. 除了 Remote-SSH,还有哪些远程开发方案?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值