0. SSH
SSH 为 Secure Shell 的缩写,是较可靠的、为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
XShell
是一个强大的安全终端模拟软件,它支持SSH、TELNET等协议,可以在Windows界面下用来访问远端不同系统下的服务器,从而实现远程控制终端。
XShell正版是收费的,虽然为学生和高校提供了免费使用版本,但是对于个人和企业来讲使用还是收费的,如果无法使用XShell学习版本,有哪些其他软件可以替代呢。
1. Putty
a free SSH and Telnet client.
1.1 Putty简介
Putty是一款开源免费的连接软件,支持SSH、Telnet、Serial等协议的连接,常用来远程管理Linux服务器系统。
官网:https://www.chiark.greenend.org.uk/~sgtatham/putty/
可以在官网完成客户端下载,下载时可以选择安装包类型
- .msi:安装版本,下载完成安装后使用,安装后大小4M左右
- .exe:免安装版本,下载后直接运行使用,整体2M左右
1.2 Putty的特点
Putty作为一款开源软件,是完全免费的,并且可以适用于当前所有windows系统版本中。除此之外,Putty还有一些优点:
- 软件体积小,下载使用耗费资源少,运行速度快
- 客户端下载无需安装,点击运行即可使用
- 支持SSH、Talent等多种协议连接
- 操作界面简洁,所有功能都集中在一个界面,使用方便
1.3 Putty的使用方法
打开Putty软件后可以看到如下操作界面,Putty基本所有的功能都在该界面完成。
可以看到,如果是简单的远程连接,左侧只需要选择Session界面,
右侧操作步骤:
- 输入需要远程连接的服务端地址,使用域名或者IP地址
- 输入服务器中对应的端口号
- 选择对应的连接类型,一般是SSH连接
- 可选内容,如果需要将Session信息保存以便重复利用,可以在信息填写完成后,在Saved Sessions处填写要保存的名称,然后点击右侧的Save操作保存会话,保存成功会在下方框中显示。也可以导入已保存的Session或者删除不需要的Session信息。
- 信息填写完成后,点击Open按键开始连接远程客户端
- 连接开始后,会跳转到命令页面,提示输入登录远程服务端的用户名和密码
- 用户名和密码验证完成后,登录成功,显示服务端命令界面,可以进行其他操作
2. MobaXterm
Enhanced terminal for Windows with X11 server, tabbed SSH client, network tools and much more.
2.1 MobaXterm简介
MobaXterm也是另外一款优秀的SSH客户端连接工具,相比于Putty来讲,MobaXterm是一个增强型的终端工具,提供了更加丰富的功能供用户使用。
MobaXterm的安装包分为个人免费版和专业收费版本,可以根据工作需求选择合适的版本
官方下载:https://mobaxterm.mobatek.net/download.html
免费版相比于专业版本,可以保存的会话以及同时在线的SSH连接数较少,对个人使用也足够。
MobaXterm也同时提供了安装版和绿色免安装版本的程序,下载页面中进入就可以选择。
2.2 MobaXterm特点
如果适应的Xshell多标签的使用方式,多半对Putty使用略感不适,因为Putty不支持多标签的连接方式,连接其他服务器时需要重新打开客户端登录。而MobaXterm就很好的提供了多标签的连接方式,除此之外还有一些其他优势:
- 支持SSH,FTP,串口,VNC,X server等协议连接,功能强大
- 界面功能丰富,快捷键操作方便
- 连接服务器后提供SFTP文件的可视化传输
2.3 MobaXterm使用方法
MobaXterm使用起来也是非常的方便,下载软件并安装完成后,打开MobaXterm,在左侧空白处右键单击,选择New Session来创建一个连接信息。
软件操作界面如下图所示:
详细流程可以表示为:
- 右键单击,选择New Session创建一个新的连接
- 在弹出页面中,选择SSH连接类型
- 下方输入远程ip地址和poat端口号,username可以选填
- 信息填写完成后,点击下方OK开始连接,MobaXterm会使用一个标签来进行连接
- 如果没有填写username,则连接时需要输入用户和密码,否则只需要输入密码即可
- 验证成功后,MobaXterm进入远程服务器页面,并将session保存,在左侧栏可以查看
3. SSH密钥登录
实际生产场景中,服务器一般不提供直接访问,为了保证安全,会采用SSH密钥的方式登录。
常见的就是使用JumpServer作为跳板机连接服务器,使用开源跳板机JumpServer后,对于新增的用户,JumpServer会为该用户生成一个SSH密钥,用户在本地连接远程服务器时,就需要使用SSH密钥来完成连接。
Xshell中在登录时可以选择使用密钥登录,并导入密钥文件完成登录,Putty和MobaXterm中同样可以使用SSH密钥登录的方式连接。
3.1 Putty密钥连接
JumpServer分发的SSH密钥下载后是一个.pem文件,而Putty客户端导入的密钥是.ppk格式的,其中ppk即Putty Private Key,因此我们首先需要将密钥文件转换成Putty可用文件。
3.1.1 生成ppk密钥文件
如果使用的是putty.exe客户端,那么我们还需要下载一个puttygen.exe程序来实现密钥文件的生成,该文件在putty客户端下载页面也有提供。
如果putty使用的是.msi安装版本,在安装时会同时安装puttygen客户端,可以直接打开使用。
打开puttygen客户端,由于是将已有的pem文件转换成ppk文件,则需要点击Conversions -> Import Key,导入已存在的密钥文件,界面如下:
导入完成后可以针对密钥生成输入加密字符串,并确认字符串,最后使用Save private key将密钥保存到指定文件夹中。
3.1.2 使用ppk密钥登录
ppk格式的密钥文件生成并保存后,在putty的连接页面可以使用密钥进行登录。
- 登录时需要在Session界面填写ip地址和端口号信息
- 然后点击左侧Connection -> SSH ->Auth功能,在右侧界面中选择保存的密钥文件导入
- 点击Open开始连接远程服务器
- 连接开始后需要输入登录的用户名信息
- 在用户名和导入的密钥文件验证成功后登录到远程服务器中
3.2 MobaXterm密钥连接
MobaXterm使用SSH密钥连接的过程和Putty基本一致,MobaXterm客户端已经提供了密钥生成的功能。
3.2.1 密钥文件生成
在MobaXterm界面中,选择Tools -> MobaKeyGen(SSH key generator),会弹出密钥生成的界面,该界面和puttygen一样。
在密钥生成页面中选择Conversions -> Import key,导入本地的pem文件,并使用自定义的加密字符串,最后Save private key将密钥文件生成并保存在本地路径中。
3.2.2 使用密钥登录
密钥文件生成后,我们在连接远程客户端时可以使用密钥的方式登录
如图为MobaXterm的连接界面,选择 SSH 连接类型后,选择其中的 Advanced SSH setting 标签,在其中配置密钥信息
- 勾选 Use private key 选项表示使用密钥登录
- 右侧框中选择本地生成的 MobaXterm 密钥文件
- 所有信息填写完成后,点击下方OK登录即可
4. 总结
总的来讲,Putty 客户端简洁好用,拥有远程连接的所有基本功能,足够开发使用;如果想要体验更加丰富的功能,可以尝试选择 MobaXterm 客户端;两者都是英文界面,但不影响基本功能的使用。