文章目录
- 一、vscode下载
- 二、连接服务器
- 1. 安装remote development套件
- 2. 配置ssh
- 3. 连接服务器
- 4. 打开服务器文件路径
- 三、X11安装
- 1. 安装插件
- 2. 安装xserver服务
- 3. Remote X11连接服务器All configured authentication methods failed问题
- 四、使用上常见一些问题
- 1. 代码中文显示乱码问题
- 2. 实现免密登录远程服务器
参考链接: 利用VScode连接远程服务器进行代码调试及可视化界面
VSCode『SSH』连接服务器『GUI界面』传输
一、vscode下载
vscode官网,下载页面如下,根据需要下载
对于windows系统,有两个版本:
- User Installer版:会安装在当前计算机帐户目录,意味着如果使用另一个账号登陆计算机将无法使用别人安装的vscode。
- System Installer版:安装在非用户目录,例如C盘根目录,任何帐户都可以使用。(建议使用此版本)
vscode默认提供的User Installer版,大多数人都是用的这个版本。
我这里选择System Installer版。
二、连接服务器
1. 安装remote development套件
2. 配置ssh
并选择ssh配置文件
在配置文件中设置你的服务器信息,输入 HostName 服务器IP地址和 User 服务器用户名,保存以后左侧会出现对应机器名称。我C:\Users\chenky190417.ssh\config内容如下:
Host 192.168.162.103
HostName 192.168.162.103
User firefly
3. 连接服务器
连接过程需要输入服务器对应用户的密码。
4. 打开服务器文件路径
打开服务器文件,只需要在文件菜单下,点击 Open Folder,就能在右侧窗口查找自己想要打开的文件路径了,点击 OK 打开。此时对文件的编辑就可以实时同步到服务器上。
连接成功并打开服务器代码路径后如下图:
三、X11安装
1. 安装插件
vscode上安装Remote X11(SSH)和 Remote X11 插件
2. 安装xserver服务
参考链接:
VScode远程调试C++工程含X11(局域网)
VScode环境搭建+远程连接服务器+x11
微软官方推荐安装VcXsrv下载地址
3. Remote X11连接服务器All configured authentication methods failed问题
(1) windows系统的配置
在配置文件C:\Users\chenky190417.ssh\config中添加如下内容:
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
(2) 配置好Linux端的SSH功能
vim /etc/ssh/sshd_config
# 找到这一行 这条配置的意义是允许 ssh 的 x11 转发
X11Forwrding yes
PubkeyAuthentication yes
RSAAuthentication yes #没有找到这条
AuthorizedKeysFile .ssh/authorized_keys #没有找到这条
保存退出
service sshd restart # 重启 sshd
echo $DISPLAY # 输出 localhost:10.0
四、使用上常见一些问题
1. 代码中文显示乱码问题
- 解决方法:改变编码设置
文件 --> 首选项 --> 设置 --> 输入 " encoding " 搜索 --> 找到 " Files: Encoding " --> 选择GB18030
然后把文件关闭再打开,就可以看到中文不是乱码了。这种方法不用每次打开新文件都重新操作。
2. 实现免密登录远程服务器
(1) 在windows中按下win+R快捷键进入cmd命令框中运行命令
ssh-keygen
会在C:\Users\chenky190417.ssh生成两个文件
id_rsa.pub # 公钥
id_rsa # 私钥
(2) 登录linux服务器,将windows用户的公钥文件追加到~/.ssh/authorized_keys
登录服务器,在.ssh目录下生成authorized_keys,该文件包含一系列允许登录该服务器的公钥,没有就新建该文件。将公钥内容追加到~/.ssh/authorized_keys中,追加的方法可以是:
cat id_rsa.pub >> authorized_keys
并在配置文件config中添加如下内容:
IdentityFile "C:\Users\chenky190417\.ssh\id_rsa"
这样就可以免密登录远程服务器了。