通过VSCode连接北京超算并配置ssh免密登录

一、背景

北京超算是一个高性能计算(High Performance Computing,HPC)机群平台,由于我们很多同事在使用该平台做科研工作,且该平台与普通的服务器有所区别,在此写下这篇文章,记录一下我们配置SSH远程连接和免密登录的方法,希望对各位有所帮助。

二、步骤

2.1 VSCode连接背景超算

1)打开北京超算APP,打开控制台,在我的导航中,打开SSH直连管理,如果没有SSH直连管理的话,可以在添加快捷入口处添加。

2)SSH直连管理中有一个SSH访问方式,也就是用SSH连接自己的账户的命令,我们通常选择zhongwei 2222的这个端口。把命令复制一下。

94d68bcd9e28460585c1868cc3ffc02c.png65bb7fdb4e0446679b397dbb9ff7cfbb.png

3)我们创建一个密码

3ed735d0f07b487eb54d82cbd65c4bc9.png

4)打开VSCode,安装Remote SSH插件

2eb132bfb28042838d3b90ac32cf2778.png

5)然后我们打开远程资源管理器,鼠标放在SSH上,后面出现“+”号,可以新建远程连接。

2cd87e70789740f49ced12ba4ffabcf2.png

5)将刚才复制的SSH连接命令复制过来,并输入密码进行连接。

121fcc5b4db942cb9b7cbcfc31263017.png

2.2 VSCode配置免密登录

北京超算与其他服务器的配置方式有所不同,本文只介绍北京超算的配置方式。

1)在自己的电脑上按win+R,输入cmd,或者用搜索功能搜索cmd,打开终端。

363aa33860094366ae517dc566b89548.png

2)在终端中输入ssh-keygen,生成一个密码对(公钥和私匙)。它会让你选择一个文件用来保存,我们一般使用默认的,直接回车就行,由于我之前已经存在两个,这里随便取了个名字,后面的步骤务必一直按回车。然后记住这个密码对的路径。(默认情况下,私匙为C:\Users\Name/.ssh/id_rsa,公匙为C:\Users\Name/.ssh/id_rsa.pub)

580b3226863648cb874207810f9a7a35.png

3)我们打开VSCode,鼠标放在SSH上,出现右侧的“设置”和“+”,点击设置,选择右面的第一个文件。这里面写了你刚才连接的账号,我们在下面加上IdentityFile,路径就是刚才的私钥。

c28810a7f6174275a0b22d419124a0d4.png

ccdb62a0e9a14df0bfe88d044c9dab72.png

4)在路径中找到刚才的公匙,将里面的内容复制,然后打开北京超算,在刚才创建密码的位置创建一个公匙,将复制的公匙内容粘贴进去。

3ed735d0f07b487eb54d82cbd65c4bc9.png

三、作用

安装第二章配置完成之后,我们就可以同时连接多个超算账户了,也可以安装Modern Fortran插件,高亮提示编辑代码。其他使用和超算没有任何区别,可以通过终端sbatch命令提交作业。不知道终端在哪儿的可以在VSCode的上面的三个点省略号新建终端。

cef417787f084e3eaf8c28e01ffc34f5.png

四、一些可能的问题

目前也遇到了一些配置了免密登录之后仍然需要密码的情况,查阅了许多博客之后,主要有帮助的有SSH命令详解no mutual signature algorithm,第一篇里有讲到ssh连接时-v参数可以查看日志,便于我们排查需要密码的原因,我们可以根据debug日志,查看自己的遇到的具体问题,我有个同事就是遇到了no mutual signature algorithm的问题,第二篇文章给出了原因和详细的解决方式,原因就是rsa的加密算法在某些版本被禁用了,换了另一种加密方式生成密码对,如有遇到相同的问题,可以参考尝试解决。

VS Code 的 Remote SSH 插件可以让你通过 SSH 连接到远程服务器,并在 VS Code 中进行编辑、调试等操作。配置免密登录可以避免每次连接时都需要输入密码的繁琐操作。下面是配置 Remote SSH 免密登录的步骤: 1. 生成 SSH 密钥对 在本地终端中输入以下命令生成 SSH 密钥对: ```bash ssh-keygen ``` 按照提示输入文件名和密码(可以不设置密码),一路回车即可。生成的密钥文件位于 `~/.ssh/` 目录下。 2. 将公钥上传到远程服务器 将生成的公钥文件(默认为 `id_rsa.pub`)复制到远程服务器上,可以使用 `ssh-copy-id` 命令: ```bash ssh-copy-id username@remote_host ``` 这里的 `username` 是远程服务器的用户名,`remote_host` 是远程服务器的 IP 地址或域名。如果提示 `Permission denied`,可以手动将公钥内容添加到远程服务器的 `~/.ssh/authorized_keys` 文件中。 3. 配置 VS Code Remote SSH 在 VS Code 中安装 Remote SSH 插件,并在左侧的菜单栏中选择 Remote-SSH: Open Configuration File,选择 `config` 文件进行编辑。 在 `config` 文件中添加以下内容: ``` Host remote_host User username HostName remote_host IdentityFile ~/.ssh/id_rsa ``` 这里的 `remote_host` 和 `username` 分别对应远程服务器的 IP 地址或域名和用户名。`IdentityFile` 指定本地私钥文件的路径。 保存 `config` 文件后,在 VS Code 中选择 Remote-SSH: Connect to Host,选择刚才添加的 `remote_host` 即可连接到远程服务器。此时不需要输入密码,即可完成免密登录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白马少年郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值