一、SSH基本介绍:
SSH 为 Secure Shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。保证数据安全的原理是非对称加密。
传统的对称加密使用的是一套秘钥,数据的加密和解密用的都是这一套秘钥,所有的客户端、服务端都需要保存这套秘钥,因为只有一套密钥,所以一旦秘钥便泄露便保证不了数据安全。非对称加密解决的就是这个问题,它包含一对秘钥(公钥+私钥),其中公钥用来加密,私钥用来解密,并且通过公钥计算不出私钥。并且,私钥谨慎保存在服务端,而公钥可以随便传递。
SSH对数据的保护传输,简单来说就是客户端和服务端各生成一对私钥和公钥,并且互相交换公钥,这样无论客户端还是服务端,发送给对方数据时,都可以用对方的公钥来加密,对方收到后,再用自己的私钥来解密。保证了传输数据的安全。
二、SSH终端工具MobaXterm简介:
目前主流的ssh终端工具有:Putty、Xshell、MobaXterm、Secure CRT等。这里只大概介绍下Mobaxterm。官网对MobaXterm自己的定位是:“进行远程计算的终极工具箱”。它为程序员、网站管理员、IT管理员等需要进行远程作业的用户提供了全面、灵活的功能。
MobaXterm为Windows桌面提供了所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH等)和Unix命令(bash,ls,cat,sed,grep,awk,rsync等)。支持SFTP传输文件。提供了各种丰富的插件(git/dig/aria2…)。
详细介绍请参考Mobaxterm官方网站:https://mobaxterm.mobatek.net/。
三、MobaXterm的简单使用:
MobaXterm目前有两个安装版本:Home Edition和Professional Edition。具体安装方法很简单,相信能够都需要用到MobaXterm的人,应该都会安装这种简单的软件。所以这里不再累述。
首先,给大家分享一个MobaXterm常用设置,可以参照,配置一些需要的基本设置:https://blog.youkuaiyun.com/hexf9632/article/details/94576703
3.1 MobaXterm中使用Windows主机
这里跟大家介绍下CygUtils.plugin插件,它是“Windows内核的unix工具集合”,他集成了绝大多数常用的unix命令,可以让我们在MobaXterm中像使用Lunix命令行shell一样,使用windows。CygUtils.plugin等各类插件的下载地址:https://mobaxterm.mobatek.net/plugins.html
这里选择第一个,CygUtils.plugin,下载,并将其放入MobaXterm安装文件夹中,即可完成插件的安装。
这样就可以在MobaXterm中像使用Linux的命令行shell一样,使用windows。进入MobaXterm后,点击“Terminal”->“open new tab”,然后在页面中点击“start local terminal”。
输入以下基本的unix的shell命令,看一下效果。
这里注意, 如果要进入到特定的盘符,不是”cd <盘符>\”,而是”cd /drives/<盘符>”。比如cd到g盘的命令是:cd /drives/g。如图:
3.2 windows远程登陆Linux终端:
这里,我们在windows系统中安装一个Ubuntu虚拟机,他们可以看作在一个网络下的两个远程终端。这里,windows主机和Ubuntu之间使用NAT网络连接的方式,并且Ubuntu已经安装了ssh服务(sudo apt-get install ssh)。
下面,在windows终端上,利用MobaXterm这个ssh终端工具,远程登陆Linux终端,进行操作。
首先,查看Windows和Linux虚拟机的同网段IP:
Windows的IP: 这里我们直接用MobaXterm查看了,当然,也可以在主机的cmd中查看。
Linux虚拟机的IP:
可知,与windows同网段的Linux虚拟机IP为: 192.168.241.130。然后我们就可以在MobaXterm利用SSH访问linux虚拟机了。
在MobaXterm主界面的左上角,点击”Session”,弹出对话框中,点击“SSH“,在”Remote host”中,输入Linux虚拟机IP(192.168.241.130),在“Specify username”中输入Linux虚拟机的登陆用户名(hank)。最后点击OK。就实现了在windows终端上,利用MobaXterm这个ssh终端工具,远程登陆Linux终端的目的,这样就可以在windows系统上,操作远端的Linux了。
另一种方法,也可以在MobaXterm打开的Windows下,通过ssh命令,远程访问Linux系统:输入命令ssh hank@192.168.241.130
3.3 使用scp命令从远端linux系统中,上传下载文件或文件夹:
这里,我们在windows系统,和Ubuntu虚拟机两个终端之间传输文件,这种方法可以取代以往的VMware共享文件夹等在主机和虚拟机之间共享文件的方法。
这里只介绍最基本的scp命令(secure copy),另外scp命令还有指定端口号,传递文件夹等参数可供选择,可参考https://www.cnblogs.com/6b7b5fc3/p/12716237.html,或者在Linux中参考man手册(命令:man scp),或者csdn一下scp的详细使用方法。
scp命令语法格式:
scp [-12346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2
MobaXterm打开的Windows终端
从Windows上传文件到Linux虚拟机:
scp drives/g/1.txt hank@192.168.241.130:/home/hank/
释义:拷贝当前windows的G盘下的1.txt文件,到远程linux系统hank的家目录中
从Linux虚拟机下载文件到windows:
scp hank@192.168.241.130:/home/hank/1.txt drives/g/
释义:反过来,拷贝远程linux系统hank的家目录中1.txt文件,到当前windows的G盘下
大概先这样把~
其它MobaXterm的参考资料:https://zhuanlan.zhihu.com/p/61013117