超算入门3 SSH和SFTP
本文将通过mobaxterm软件,介绍如何登陆超算以及如何传输数据。

# 什么是SSH
官方的说法是这样子的:
SSH为Secure Shell的缩写,SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
我们的理解:
SSH就是远程的命令行,敲命令的,通过它来使用登陆使用超算机器。
常用的软件有:
mobaxtermssh secure shellxshellputtySecureCRT- ...
# 什么是FTP/SFTP
官方的说法是这样子的:
sftp是Secure File Transfer Protocol的缩写sftp是安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp与ftp有着几乎一样的语法和功能。
我们的理解:
- 就是传文件的工具,用来实现自己的电脑和远程服务器之间文件的上传下载。
常用的软件有:
mobaxtermXftpwinscpFileZilla- ...
# 什么是mobaxterm
MobaXterm 又名 MobaXVT,是一款增强型终端、X 服务器和 Unix 命令集(GNU/ cygwin)工具箱。
- 支持各种连接 SSH,X11,RDP,VNC,FTP,MOSH
- 支持 Unix 命令(bash,ls,cat,sed,grep,awk,rsync,…)
- 连接 SSH 终端后支持 SFTP 传输文件
- 各种丰富的插件(git/dig/aria2…)
- 可运行 Windows 或软件
总之,一句话:它是一个工具箱,非常强大。
# 为什么选择mobaxterm
使用其他的ssh和sftp工具,经常遇到各种各样稀奇古怪的bug问题,不好解决,但我们发现这个软件竟然都解决了,堪称完美!
# 每次都需要输入密码,记不住
很多ssh工具不提供记录密码的功能,所以每次都需要输入密码。有时候会忘记密码,有时候密码太长记不住,就写在一个txt文本文档里面,不安全。
但是mobaxterm可以自动记录密码,成功登陆后,选择yes即可,如下图:

# 图形界面打不开
这是因为有些ssh工具不会自动加载图形界面所需的头文件和库的路径,所以导致error。这个软件会自动加载,如下图:

# 字符串出现乱码了,看不懂
这是因为有些ssh工具对中文支持的并不好,所以遇到中文的时候就出现乱码了。
mobaxterm对于中文支持的很好,所以由于出现乱码,进而导致的各类问题都可以避免。
# 修改密码时候自动退出
这是因为有些ssh工具在修改登陆密码时候出现的bug,导致用户无法自己修改密码。只能说mobaxterm又可以完美支持。
说了这么多好处(其实就是以前遇到的各种坑),下面介绍一下如何安装和使用它的常用功能。
# 下载安装
有的朋友反映无法下载,故在此给出我之前从官网下载过的压缩包:MobaXterm_Portable_v11.0.zip 25MB
非常简单,直接下载解压缩双击即可使用。
官网:https://mobaxterm.mobatek.net
下载地址:https://mobaxterm.mobatek.net/download.html

直接点击免费版。
付费版有兴趣的可以付一下,一般情况下免费版就足够了
然后选择左侧的Portable版本。

Portable版本下载即用,无需安装;Installer版本是msi文件,需要安装。推荐前者。
然后点击下载zip压缩包。
用解压缩工具(如winrar 7zip等工具)将下载好的MobaXterm_Portable_v11.0.zip压缩包解压缩。
我们双击MobaXterm_Personal_11.0.exe,就可以打开它,如图所示:

# ssh登陆使用
# 方法1-新建ssh连接
我们点击 Session 。

新建一个 ssh 连接。

输入远程服务器的ip地址(如192.168.2.5),点击 ok。

然后输入登陆远程服务器所需的帐户名,然后输入密码。

如果选择 ok ,就会自动保存密码,下次登陆无需输入,否则下次仍需要输入密码。

登陆成功:

进阶:
- 可以在建立
ssh session连接的时候,勾选Specify username,输入用户名,以后每次就无需输入了。 - 可以在建立
ssh session连接的时候,选择下方Bookmark settings选项卡,然后给这个新建的连接起一个名字,方便识别。
# 方法2-打开已有的ssh连接
以后再次连接,只需要双击左侧的任意一个ssh连接即可。

这个ssh连接已经保存了ip地址。
- 如果这个ssh连接,没有保存帐户名和密码,那么输入登陆远程服务器的帐户名和密码即可。
- 如果这个ssh连接,保存了帐户名,没有保存密码,那么会自动登陆该账户,然后输入密码即可。
- 如果这个ssh连接,保存了帐户名和密码,那么直接就可以登陆成功。
# 方法3-通过ssh命令建立连接
首先我们打开本地的命令行终端:

然后使用ssh命令进行系统登陆,举例如下:
ssh zhenggang@192.168.2.5
然后输入帐户密码即可。

ssh命令说明:
ssh同步命令zhenggang@192.168.2.5:格式为:用户名@ipzhenggang为用户名192.168.2.5为远程服务器的ip地址
# sftp数据传输
# 方法1-建立ssh连接后直接拖拽
我们在建立ssh后,可以直接通过拖拽的方式,将本地的文件拖拽到远程服务器。
特别提示:可以将
mobaxterm软件的窗口从最大化退出,就可以同时显示文件夹和mobaxterm了,方便拖拽。

特别提示:如果希望拖拽到的目标目录为
ssh连接所在的当前目录,可以勾选下方的Follow ternimal folder这样就会自动跟随文件夹的切换了。
# 方法2-建立sftp连接再拖拽
建立sftp连接的方式与建立ssh连接的方式非常相似,简述如下:

新建一个 sftp 连接。

输入远程服务器的ip地址(如192.168.2.5),以及帐户名(必须输入),然后点击 ok。

然后输入密码。

同样可以选择保存密码。

登陆成功,然后我们就可以通过窗口,鼠标拖拽的方式,上传或下载文件了。

# 方法3-直接使用rsync同步
此方法无需建立ssh或sftp连接,在本地的命令行终端,使用同步命令rsync,即可实现数据的同步。
同步到远程服务器即为上传,从远程服务器同步到本地即为下载。
首先我们打开本地的命令行终端:

然后使用同步命令进行同步,举例如下:
我们将本地的d盘下的文件夹directory下的1.txt文件,同步到远程服务器,在命令行终端输入:
1)进入文件夹
cd /media/d/directory
2)同步命令
rsync -ltvP 1.txt zhenggang@192.168.2.5:/vol-th/home/zhenggang
3)输入远程服务器密码
rsync命令说明:
rsync同步命令-ltvP同步参数1.txt待同步的文件名,也可以是文件夹的名字zhenggang@192.168.2.5:/vol-th/home/zhenggang格式为:用户名@ip:目录zhenggang为用户名192.168.2.5为远程服务器的ip地址/vol-th/home/zhenggang为远程服务器的目标目录
请依据自己的同步需求自行修改相关参数,切记完全照抄,你会遇到报错的哦

# 修改账户密码
修改密码使用的命令叫做 passwd , 我们只需要输入一次旧密码,再输入两次新密码即可。注意密码不要太简单。

# 当作linux使用
mobaxterm相当于一个类linux的子系统,支持各种 Unix 命令(bash,ls,cat,sed,grep,awk,rsync,…),非常好用,熟悉linux的朋友可以用它做一些批量操作。

# 建立开发编译环境
比如gcc编译器python环境等,默认是没有的,但是我们可以通过操作来安装它们,并像linux一样使用。

如下图所示,里面有各种各样的包,可以直接选择并install ,非常简单。

如果发现本次配置的环境,下次登陆找不到了,可以修改一下slash的位置:

