超算入门3 SSH和SFTP
本文将通过mobaxterm软件,介绍如何登陆超算以及如何传输数据。
# 什么是SSH
官方的说法是这样子的:
SSH
为Secure Shell
的缩写,SSH
为建立在应用层基础上的安全协议。SSH
是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH
协议可以有效防止远程管理过程中的信息泄露问题。
我们的理解:
SSH
就是远程的命令行,敲命令的,通过它来使用登陆使用超算机器。
常用的软件有:
mobaxterm
ssh secure shell
xshell
putty
SecureCRT
- ...
# 什么是FTP/SFTP
官方的说法是这样子的:
sftp
是Secure File Transfer Protocol
的缩写sftp
是安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp
与ftp
有着几乎一样的语法和功能。
我们的理解:
- 就是传文件的工具,用来实现自己的电脑和远程服务器之间文件的上传下载。
常用的软件有:
mobaxterm
Xftp
winscp
FileZilla
- ...
# 什么是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:
格式为:用户名@ip
zhenggang
为用户名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的位置: