[AI开发配环境]VSCode远程连接ssh服务器

总览:

  • 优点:
    • 方便,连上主机后可以直接连container,不需要额外配置container的ssh了;
    • 支持jupyter notebook
    • 调试也很方便
    • ssh端口可以直接转发
    • 甚至可以直接查看3D文件
  • 缺点(可以用mobaxterm代替吧):
    • 上传下载文件感觉不是特别方便?后面可以试试sftp插件

ssh连接远程服务器

连接

参考此链接:
https://zhuanlan.zhihu.com/p/667236864

  • 安装插件remote-ssh
  • 左侧栏点那个remote explorer (下图1),新建远程(new remote 下图2)
  • 在这里插入图片描述
  • 在顶部的命令框中输入:ssh -P <port> user@XXX.XXX.XXX.XX
  • 回车,还是顶部命令框,他会问你选那个配置文件,就用第一个就行,会生成这个配置文件
  • 然后在remote explorer里面就会显示这个新添加的远程服务器,点右边的→或者另一个按钮来打开就行
  • 还是窗口顶端,他会问你是什么平台Linux,Windows还是macOS,照着选就行
  • 还是窗口顶端,会问你密码,输入即可
  • 然后就连上了。
  • 可以选择要打开的文件夹,如何之后想打开另外的文件夹,可以点File,Open Folder, 如下图
    • 在这里插入图片描述

注意,选服务器类型,linux还是啥的,输密码,都是在顶部这个窗口:
在这里插入图片描述

免密登录:

  • 本地主机生成密钥对:ssh-keygen -t rsa -b 2048 -f C:\Users\YourUsername\.ssh\id_rsa
  • 在远程服务器的~/.ssh/authorized_keys 这个文件中(没有就自己新建),粘贴自己本地主机的C:\Users\YourUsername.ssh\id_rsa.pub的内容(本地主机的公钥)。
  • 在本地主机的C:\Users\YourUsername.ssh\config文件中,最后一行写上:IdentityFile: C:\Users\YourUsername.ssh\id_rsa (这一部是说,我要使用这个私钥文件)

Docker:ssh连接远程宿主机后,进一步连接并使用其中的docker容器

参考此文:
https://blog.csdn.net/weixin_45656074/article/details/131160299

注意!docker容器没有配置和远程宿主机的端口印射才能这样!否则还是当他是一台宿主机,走ssh。
安装docker扩展,安装完成后在左侧会多出一个docker 按钮:
在这里插入图片描述
点这个按钮,会显示containers, images,registries。
在container中右键你想要打开的容器,选attach visual studio code
在这里插入图片描述

注意,在每个容器中都要重新安装vscode扩展,如python等。

reload window

时间太久连不上远程的话,可以reload一下
ctrl + shift + P 输入reload

配置解释器:Ctrl+P,在上面输入“>python”, 然后选selecet interpreter

参考本文:https://blog.csdn.net/qq_41990294/article/details/119106112

先在远程安装extention Python。
在这里插入图片描述

Ctrl+P,在上面输入“>python”, 然后选selecet interpreter在这里插入图片描述

运行命令

方法一:直接在左边run and debug (可以断点调试):

在这里插入图片描述
这里如果add configuration,可以选择多种。比如选with arguments

在这里插入图片描述

launch.json的常见写法:

然后修改launch.json,加上cwd这一行,改成自己的路径:
在这里插入图片描述

如果选的是current file的话,需要切换回要跑的脚本之后,再运行,因为默认运行的是current file,如果还停留在json这个文件的话他跑的就是json,当然就会报错。

之后,顶部输入框会让你输入参数,有就输入,没有就直接回车就行。

还可以配置cuda或DISPLAY等参数写定参数:(display详见后面的x11)
在这里插入图片描述

断点调试

如果打了断点,就是调试,上方是一些操作按钮:
在这里插入图片描述
左边会显示一些变量之类的情况:
在这里插入图片描述
但是可能很难找到自己想看的变量,在watch这里点加号,自己想看啥就加啥就行:
在这里插入图片描述

方法二:不需要调试的话可以直接用terminal,完全支持tmux

下面就是terminal,可以用
在这里插入图片描述

如果没显示terminal,可以把鼠标放在下面这条黑线上,黑线就会变成蓝线,往上拖动就可以了:
在这里插入图片描述

terminal美化(报错信息不同颜色)

https://blog.csdn.net/m0_73832962/article/details/132202467

换一个配色方案,但不会增加不同信息的区别显示:

File-》Preferences -》 settings,然后搜索workbench, 选apperence, Edit in settings.json,
从下面这个链接中:https://glitchbone.github.io/vscode-base16-term/#/
选择喜欢的,复制到最后那个json项ColorCustomization里面

给python输出的 报错信息增加不同颜色的显示:

在site-package文件夹中新建一个sitecustomize.py文件,并在文件中添加下列代码保存:

import sys
from IPython.core.ultratb import ColorTB
sys.excepthook = ColorTB()

ssh 端口转发

比如我们如果想看6006的,emm,tensorbaord,需要用到此功能。
直接在底部框里面添加这个port就行了:
在这里插入图片描述
亲测,docker容器内的ssh直接连本地windows,不需要配置docker容器和远程宿主机的端口印射,就可以直接印射到本地windows主机

代码自动补全

似乎自带自动补全功能
在这里插入图片描述

3D内容查看

安装插件3D Viewer for VSCode (好像打开ply不太行,就是一片绿色)
安装vscode-3d-preview : 支持ply,obj,off等格式。
在这里插入图片描述

git 不知道哪个插件的source control

这里可以进行各种git操作,可以直观展示修改了哪些文件,左右栏对比:
在这里插入图片描述
ssh公钥配置push权限:
看看~/目录下是否有.ssh 目录。
如果有.ssh目录,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C “youremail@example.com”
一路回车
登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

jupyter notebook

如果打开了ipynb文件的话,会自动推荐哪些插件安装
安装了插件之后可以直接用,
在这里插入图片描述

在这里插入图片描述
跑完之后记得在这里restart来清除显存占用:
在这里插入图片描述

如果要指定工作路径,似乎最简单的方式是在开头搞一个cell来改路径:
在这里插入图片描述

github copilot平替codeium

学生认证可以免费,否则要付费。
https://zhuanlan.zhihu.com/p/578964972?utm_id=0

  • 这里学生认证需要一个教育邮箱,以及证明的纸质材料现场拍照
  • 根据上面的链接说,学信网的中文认证报告不行,得自己翻译成英文的才行

太麻烦了就没搞了

可以用这个免费的插件平替一下:Codeium
在这里插入图片描述

图形界面X11

https://blog.csdn.net/Stone_hello/article/details/120041495,

  • 一:装插件:vscode中安装下面两个插件(都要装!!刚开始只安装了第一个带SSH,一直不成功,后来又安装了下一个就行了)
    在这里插入图片描述

  • 二:本地安装并运行Xming,

    • 安装好XMing之后,本地运行Xlaunch,一路默认下一步,直到最后一步选No access control,亲测不选不行
  • 三:配置DISPLAY参数

    • DISPLAY参数内容:在以下内容中选择测试,建议直接选第一条
      • export DISPLAY=“你本地windows主机的ip地址:0.0” # 这个ip地址可以在本地主机中用ipconfig命令查看
      • export DISPLAY=“远程主机的id:10.0” # 这个id就是,temrinal开头显示username@XXX 里面的XXX (这一条可能需要连上mobaxterm才行)
      • export DISPLAY=“localhost:10.0” # 网上都是这样说,但这条我用着真的不行
    • DISPLAY参数怎么配置:
      • 首先建议在~/.bashrc的最后加上上面的export DISPLAY=“”的命令,然后source ~/.bashrc
      • 在调试运行的launch.json中也可以写上:
        • 在这里插入图片描述

亲测不需要的步骤,但保存备用:

  • 在本地的Xming安装路径中修改X0.hosts (在localhost下面一行添加远程服务器的ip)
  • C:/Users/username/.ssh.config 文件中,在对应的远程主机中添加:
    • 这个文件点这里可以打开在这里插入图片描述
    • ForwardX11 yes
    • ForwardX11Trusted yes
    • ForwardAgent yes
  • 远程主机中,确保ssh的配置文件 /etc/ssh/sshd_config中X11相关选项的正确性()

参考:
https://superuser.com/questions/310197/how-do-i-fix-a-cannot-open-display-error-when-opening-an-x-program-after-sshi

常用操作和观察

单击打开一个文件可能是预览,再次单击其他文件就会覆盖这个文件;双击打开则不会如此

常用快捷键:
Ctrl + K + 0: 折叠所有代码块
Shirt + Alt + 方向键上或下:在上方或下方复制本行代码
Ctrl + ctrl + shift + P 输入reload: reload window

右边这个代码框,右边那一竖条,靠左的是git的改变,靠右的是报错或warning
代码框里面本身高亮为黄色的也是warning的。
在这里插入图片描述

其他细节

左侧的explorer查看文件固定

问:在vscode中,左侧有一个explorer,里面显示了文件夹的结构。但是,我一点开一个文件,explorer的内容就会自动跳到这个文件所在的文件夹。有什么办法让explorer固定住,不跟随右侧打开的文件而变化吗?

答:File,preferences,settings,搜索explorer,这个auto reveal 选false
在这里插入图片描述

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值