一、背景
北京超算是一个高性能计算(High Performance Computing,HPC)机群平台,由于我们很多同事在使用该平台做科研工作,且该平台与普通的服务器有所区别,在此写下这篇文章,记录一下我们配置SSH远程连接和免密登录的方法,希望对各位有所帮助。
二、步骤
2.1 VSCode连接背景超算
1)打开北京超算APP,打开控制台,在我的导航中,打开SSH直连管理,如果没有SSH直连管理的话,可以在添加快捷入口处添加。
2)SSH直连管理中有一个SSH访问方式,也就是用SSH连接自己的账户的命令,我们通常选择zhongwei 2222的这个端口。把命令复制一下。
3)我们创建一个密码
4)打开VSCode,安装Remote SSH插件
5)然后我们打开远程资源管理器,鼠标放在SSH上,后面出现“+”号,可以新建远程连接。
5)将刚才复制的SSH连接命令复制过来,并输入密码进行连接。
2.2 VSCode配置免密登录
北京超算与其他服务器的配置方式有所不同,本文只介绍北京超算的配置方式。
1)在自己的电脑上按win+R,输入cmd,或者用搜索功能搜索cmd,打开终端。
2)在终端中输入ssh-keygen,生成一个密码对(公钥和私匙)。它会让你选择一个文件用来保存,我们一般使用默认的,直接回车就行,由于我之前已经存在两个,这里随便取了个名字,后面的步骤务必一直按回车。然后记住这个密码对的路径。(默认情况下,私匙为C:\Users\Name/.ssh/id_rsa,公匙为C:\Users\Name/.ssh/id_rsa.pub)
3)我们打开VSCode,鼠标放在SSH上,出现右侧的“设置”和“+”,点击设置,选择右面的第一个文件。这里面写了你刚才连接的账号,我们在下面加上IdentityFile,路径就是刚才的私钥。
4)在路径中找到刚才的公匙,将里面的内容复制,然后打开北京超算,在刚才创建密码的位置创建一个公匙,将复制的公匙内容粘贴进去。
三、作用
安装第二章配置完成之后,我们就可以同时连接多个超算账户了,也可以安装Modern Fortran插件,高亮提示编辑代码。其他使用和超算没有任何区别,可以通过终端sbatch命令提交作业。不知道终端在哪儿的可以在VSCode的上面的三个点省略号新建终端。
四、一些可能的问题
目前也遇到了一些配置了免密登录之后仍然需要密码的情况,查阅了许多博客之后,主要有帮助的有SSH命令详解和no mutual signature algorithm,第一篇里有讲到ssh连接时-v参数可以查看日志,便于我们排查需要密码的原因,我们可以根据debug日志,查看自己的遇到的具体问题,我有个同事就是遇到了no mutual signature algorithm的问题,第二篇文章给出了原因和详细的解决方式,原因就是rsa的加密算法在某些版本被禁用了,换了另一种加密方式生成密码对,如有遇到相同的问题,可以参考尝试解决。