第一步 VsCode 连接ssh
- 下载安装VsCode
(Visual Studio Code)
,首次安装会提示你安装Chinese(Simplified)中文简体
,安装完后重新打开就是汉化界面了。 - 在左边侧边栏找到
扩展
选项,然后安装Remote Development
插件,里面包含了Remote SSH
, WSL
, Dev Containers
,Remote - Tunnels
四个插件。
- 安装后你的左边侧边栏就会出现
远程资源管理器
了,然后切换到远程(隧道/SSH)
,鼠标移到下面的SSH
,就会出现一个+
号了,点击一下+
号。
- 提示需要输入ssh命令。输入示例:
ssh root@xxx.xxx.xxx.xxx
即可。root是服务器用户名,xxx.xxx.xxx.xxx是远程ip地址。输入完后回车
- 回到刚刚到界面,点击图片刷新一下,就可以看到你刚刚输入的ip地址了。右键这个ip,选择
在当前窗口中连接
即可。
- 后面会让你输入密码,每次打开都要输入。可以参考一下附录
ssh免密配置
,强烈建议去配置一下,大概几分钟可以搞定,后续会方便很多。
第二步,启动容器服务
- 下面以trt2023复赛为例。在服务器终端,先clone一下你的代码,然后进入你的代码目录。
- 创建并后台启动docker容器:
docker run --gpus all \
--name trt2023 \
-d \
--ipc=host \
--ulimit memlock=-1 \
--restart=always \
--ulimit stack=67108864 \
-v ${PWD}:/root/workspace/trt2023 \
[镜像名称] sleep 8640000
第三步,VsCode连接容器
- VsCode侧边栏选择
远程资源管理器
,然后下拉框选择开发容器
,点击一下刷新(如果没配置ssh免密,就需要输入一下密码)。
- 选中刚刚到容器,选择
在当前窗口中附加
即可。
- 然后打开你刚刚映射的目录
/root/workspace/trt2023
即可。 - 安装一下
Python
插件,即可开始享受愉快的编码调试过程了。
其他
ssh免密登录配置
- 本机生成ssh key,一路回车即可。若本机已经生成过了,则可以忽略。
ssh-keygen
- 复制本机公钥。
cat ~/.ssh/id_rsa.pub
- for Windows。去文件管理器,一般在
C:\user\xxxx\.ssh
目录下,如果看不到.ssh
目录,则可能需要打开隐藏文件显示。然后用记事本打开id_rsa.pub文件,copy里面的内容即可。
- 连接到远程服务器(注意是连服务器,不是连服务器的容器)。然后做以下配置。
mkdir ~/.ssh
- 看看
authorized_keys
文件是否存在(不存在可以用touch ~/.ssh/authorized_keys
命令手动创建一个),并且观察其权限是否ok。
ls -lh ~/.ssh/authorized_keys
- 输出下面这个说明是ok的,
-rw
说明是root用户可读可写,组用户和宾客用户都不行。
-rw------- 1 root root
- 如果你实在不确定是不是ok,暴力一下,直接重新给他授权即可。
chmod 600 ~/.ssh/authorized_keys
- 将你之前复制的公钥粘贴到刚刚到授权文件里面。可以用下面的命令一键完成。
echo "你的公钥内容xxxx" >> ~/.ssh/authorized_keys
- 到这一步基本是ok了,如果不ok,则需要检查一下ssh配置。
vim /etc/ssh/sshd_config
#StrictModes yes
#AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin prohibit-password
StrictModes no
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin yes