【工具使用】【服务器】基础使用及使用过程中遇到的问题和疑问

基础使用

常用命令

运行作业:sbatch --gpus=1 ./run.sh
查看作业:parajobs
取消作业:scancel 作业id 
查看作业id:squeue
查看作业运行时长:
sacct -j 作业id -X --format=JobID,JobName,Elapsed,State

 

问题

vscode使用ssh远程连接服务器失败

报错信息如下:

image

但连接另一个区的服务器正常。服务器工程师告知:由于高版本vscode不支持连接服务器,建议更换使用1.85.0版本的vscode,下载地址https://code.visualstudio.com/updates/v1_85

vscode 1.86版本远程ssh不兼容旧服务器问题解决 - 知乎 这篇文章提供了便携版的安装办法,以下是整理后的内容:

文章提到:vscode的1.86版本,更新了对glibc的要求,需要最低2.28版本,导致各种旧版本的linux发行版(比如最常见的centos 7)都无法用remote-ssh来连接,会一直控制台报错waiting for server log。

官方FAQ:Remote Development FAQCan I run VS Code Server on older Linux distributions?—Remote Development FAQ

1.85.2绿色便携版安装流程

  1. 点击下载链接 下载1.85.2版本的zip包,下载后解压到本地自己选择的目录下
  2. 进入解压后的VSCode-win32-x64-1.85.2目录,新建data文件夹
  3. 拷贝%APPDATA%\Code目录到data文件夹下,然后重命名为user-data
  4. 拷贝%USERPROFILE%\.vscode\extensions目录到data文件夹下
  5. data文件夹下新建目录tmp
  6. 然后给Code.exe创建一个快捷方式,就可以正常使用1.85.2版本

插件Remote - SSH推荐单独下载安装0.107.1版本,下载地址。下载完毕后,在 VS Code 中按Ctrl+Shift+P,输入并选择 Extensions: Install from VSIX,然后选择下载的.vsix 文件进行安装。

服务器运行脚本中为何使用source activate xxx激活环境?

服务器提交作业命令:sbatch --gpus=2 ./run.sh

运行脚本run.sh中使用source activate xxx激活虚拟环境,而非conda activate xxx

source activate xxx是Conda 4.3 及之前版本的方法。activate是一个可执行脚本,通过 source命令在当前 shell 中执行,从而修改环境变量。

根据source activate 和 conda activate 的区别和使用 - Cold_Chair - 博客园 这篇文章,是因为:sbatch命令可能因为系统的一些旧代码的遗留问题,环境中的 conda 版本很低,所以source activate xxx来激活虚拟环境。

此外,为何服务器手册中使用source activate xxx?首先,服务器使用的Miniforge,然后是下面是AI的回答:

Miniforge 作为 Miniconda 的一个替代发行版,其设计目标之一是提供一个稳定、兼容且不依赖于 Anaconda 商业仓库的开源环境。为了确保在各种 shell 配置和脚本(尤其是在服务器、集群和高性能计算环境中常见的 .sh脚本)中的最大兼容性,Miniforge 有时会默认配置为使用传统的 source activate方式。这样可以避免因用户未正确运行 conda init初始化 shell 而导致的 conda activate命令失败。

通过ssh密钥方式访问服务器

本来,直接把自己本地终端的公钥发给服务器,即可实现ssh密钥(免输密码)访问服务器,但一些商用服务器不允许这样的操作。只能由服务器下发密钥给用户。下面简单介绍这种方式的ssh配置流程(类Linux系统)。

1.将服务器下发的密钥(假设名叫sth文件)存放在~/.ssh/路径下,得到~/.ssh/id_sth文件形式。

2.修改密钥文件的权限chmod 600 ~/.ssh/id_sth

3.在~/.ssh/config文件中写入类似于下面的格式

Host sth123   
    HostName host_name
    User user
    IdentityFile ~/.ssh/sth
    IdentitiesOnly yes

4.之后直接用ssh sth123就可以直接登录服务器了。如果是第一次登录,根据提示yes就可以。

 

posted @ 2026-04-02 21:51  infocodez  阅读(39)  评论(0)    收藏  举报