本文尝试了在实验室的电脑上远程实验室的服务器来调试,
以及在校外连上学校的VPN再远程学校服务器来调试
https://www.bilibili.com/video/BV1f7411v7xG?from=search&seid=8681440500936089984
在使用该教程时,如果linux端口不是默认的22,需要在这个文件 ssh-copy-id.ps1 里添加一个参数,
在 param 里添加自己的 Linux 端口比如 $Linux主机端口 = '1111',
然后在 $sftp连接参数 这一行 $Linux主机IP 后面加上 -PortNumber $Linux主机端口
在最后的时候有一个报错:
could not establish connection to Linux Connection was canceled
这个其实不是问题,是因为没有点击 VScode 新的远程窗口上方侯选项里的 Linux:
大概是这个位置有候选项,选Linux,
https://github.com/microsoft/vscode-remote-release/issues/2788#issuecomment-641389166
连接上后在Explorer里选remote的文件夹,服务器上的文件夹就都列出来
当时就考虑到如果还有同学要用 VSCode 建立远程连接来调试,那我的配置会不会被顶掉
确实出现了这个问题,有同学配置 ssh 时直接把我原来的配置顶掉了,所以我就连不上了
“Could not establish connection to Linux”
用 Xftp 连上服务器,打开 .ssh 文件夹,
看着某位同学昨天传上来的公钥 id_rsa.pub 和私钥 id_rsa 以及 authorized_keys
还好之前预料了,也有这个心理准备
然后这里省略n次失败尝试...比如 Permission denied (publickey,password)
于是我重新用 ssh-keygen 命令生成密钥对并命名为id_ab(公钥id_ab.pub, 私钥id_ab)
然后把公钥 id_ab.pub 中的内容复制,找到服务器 .ssh 文件夹中某同学生成的 authorized_keys 文件并打开,
可以看到第一行是他的公钥,然后把自己的公钥粘贴到第二行保存就行了。
也可以用命令实现,先把自己的公钥传到服务器 .ssh 文件夹中,然后
cat .ssh/id_ab.pub >> .ssh/authorized_keys这样也是把自己的公钥追加到authorized_keys文件中。
然后还是一里面的VSCode的远程插件的设置,
这里参考的知乎:https://zhuanlan.zhihu.com/p/68577071
Host Linux HostName xxx.xx.xx.x Port xx User xx IdentityFile "C:\Users\xxxx\.ssh\id_ab"然后就可以了
-----------------------------
然后调试时,为了使用我项目下的虚拟环境,
只需要在 View -> Command Palette.. (第一个)
输入 Python: Select Interpreter (选择 python 解释器)
选第一个 Enter interpreter path
去找自己虚拟环境下的 python,
比如我的就在 venv/bin/python3,
选中后 VSCode 左下角蓝色的地方会显示 Python3.6.9 ('venv' : venv)
这就使用了自己虚拟环境下的 python 啦
------------------------
调试用VSCode,运行代码还是直接用Xshell,在VSCode里远程运行速度感觉慢
