VScode搭建远程Python环境

前言

之前一直使用jupyter lab在服务器上进行代码编写,今天尝试了一下使用VScode来进行远程代码编写,特此记录。

安装

首先安装Remote-ssh插件。
在这里插入图片描述
然后,使用Ctrl + Shift + P打开命令面板,输入connect to host,选择第一个命令:

在这里插入图片描述
选择Add New SSH Host
在这里插入图片描述
然后按提示输入远端地址和登录账户即可。

在这里插入图片描述
这里选择我们计算机用户名目录下的ssh配置文件,如果没有的话,需先将电脑的ssh功能打开,Win10功能中已支持ssh,可以很方便开启。参考:安装OpenSSH,link
在这里插入图片描述
然后右键选择连接即可。
在这里插入图片描述

解决VScode的Remote SSH使用Windows username而不是ssh_config文件中的username问题

在进行完如上配置后,我在第一次连接远端主机时一切正常。但后续添加其他远端节点时,发现VScode连接时自动使用Windows计算机自己的主机名而不是我配置在文件中的登录账户名。查找了一些资料后,找到了一个解决方法,记录如下:

首先,我们打开C:/Users/your_username/.ssh/config这个文件,然后把里面所有的Host后的名称加上我们的登录账户名。示例如下:

Host 10.10.10.1
  User usename
  HostName 10.10.10.1

改为

Host usename@10.10.10.1
  User usename
  HostName 10.10.10.1

这样修改之后就可以保证每次使用配置的账户名称进行登录。

免密登陆方法

以上配置好之后,每次连接远端主机都需要输入密码,十分麻烦。我们可以配置免密登录来方便连接。

首先,需要使用ssh-keygen -t rsa 在本地用户目录下(即C:/Users/your_username/.ssh/)生成一对密钥,id_rsa和id_rsa.pub。如果本地目录已经有该文件则不用在重新生成。可以参考 vscode避免每次ssh都输入密码

然后,我们将生成的id_rsa.pub文件中的内容追加到远端服务器的/home/username/.ssh/目录下的authorized_keys(如果没有需要自己创建)文件中。之后就可以实现免密登录。

‘Bad owner or permissions’ 以及 vscode"远程主机远程 ssh 过程试图写入的管道不存在"问题的解决

经过上述配置后,几天内我的VScode是正常的,但是由于电脑用户名设置为中文,导致了一些错误。于是在我将Windows用户名改回英文后,VScode一直连接不上。且终端中的报错信息一直为:‘Bad owner or permissions’ 以及 vscode"远程主机远程 ssh 过程试图写入的管道不存在"。

经过查找资料,发现是WIn10的OpenSSH有问题。解决方法为将系统环境变量里的

%SystemRoot%/openssh

改为电脑上安装的git中的ssh路径,我的是:

D:\Program Files\Git\usr\bin

参考

[1] Visual Studio Code Remote SSH uses Windows username instead of username in ssh_config, link
[2] win10 ssh 完美解决 ‘Bad owner or permissions’ 以及 vscode"远程主机远程 ssh 过程试图写入的管道不存在"问题, link

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值