XShell是一款比较优秀的SSH客户端,但是由于其收费,所以梳理一些优秀的免费SSH软件。
PuTTYP
PuTTY是一个免费的SSH客户端也是我接触的第一个客户端。我的使用的最大感受是能用,但功能有些简陋。PuTTY是一个广泛使用的开源终端仿真器和SSH客户端,尤其在Windows环境中非常流行。
优点:
- 开源和免费:PuTTY是开源软件,完全免费使用,并且其源代码可以公开访问和修改,提供了透明性和灵活性。
- 多协议支持:支持多种网络协议,包括SSH、Telnet、rlogin、和串行连接,使其适用于多种使用场景。
- 轻量级:PuTTY非常轻量,不需要安装,只需下载一个可执行文件即可运行,这使得它在资源有限的环境中也能高效运行。
- 广泛的配置选项:提供了丰富的配置选项,用户可以自定义连接设置、外观和行为,以满足特定需求。
- 稳定和可靠:PuTTY经过多年发展,已经非常成熟和稳定,能够可靠地执行远程连接任务。
- 跨平台支持:虽然PuTTY主要在Windows上使用,但也有Unix和Linux版本,增强了其可移植性。
- SSH密钥管理:提供PuTTYgen工具,用于生成和管理SSH密钥对,支持密钥认证的安全连接。
缺点:
- 界面简陋:相较于现代终端仿真器,PuTTY的用户界面显得较为简陋和过时,不提供标签页等现代化的界面特性。
- 功能有限:不支持一些高级功能,如SFTP(Secure File Transfer Protocol)直接在主界面中使用,需要额外的工具(如PSCP或WinSCP)来实现文件传输。
- 缺乏插件系统:PuTTY没有插件系统,无法通过插件或扩展来增加功能或自定义界面。
- 配置复杂:对于初学者来说,PuTTY的配置选项可能显得过于复杂,需要一定的学习曲线。
- Windows聚焦:虽然有Unix/Linux版本,但主要用户群和功能优化仍集中在Windows环境。
总的来说,PuTTY因其可靠性和多功能性在远程管理中广受欢迎,尤其适合那些需要简单、稳定SSH连接的用户。然而,对于需要更多界面功能或文件传输集成的用户,可能需要结合其他工具或考虑替代方案。
PuTTY是一个非常流行的开源SSH客户端,由于其开源特性,许多开发者在其基础上进行了二次开发,添加了新的功能和特性。以下是一些基于PuTTY的二次开发软件:
- KiTTY:KiTTY是PuTTY的一个增强版本,增加了许多功能,如会话过滤、自动登录脚本、自动命令、滚动缓冲区管理、和SSH隧道管理等。它还支持Zmodem文件传输协议。(我放弃使用Putty的主要原因是其不支持使用rz和lz进行文件的上传以及下载。这个可以尝试下)
- MTPuTTY (Multi-Tabbed PuTTY):MTPuTTY为PuTTY提供了多标签页功能,使用户可以在一个窗口中管理多个PuTTY会话,方便同时处理多个连接。
- SuperPuTTY:SuperPuTTY也是一个为PuTTY提供多标签页支持的工具。它允许用户在一个窗口中管理多个会话,并且支持SCP和SSH文件传输。
- PuTTYtray:PuTTYtray是在PuTTY基础上增加了系统托盘图标支持的版本,还包括URL处理、透明窗口、和其他一些小的增强功能。
- ExtraPuTTY:ExtraPuTTY增加了对一些自动化和脚本功能的支持,适合需要自动化操作的用户。它支持LUA脚本和多种扩展功能。
- WinSCP:虽然WinSCP主要是一个文件传输工具(支持SFTP、FTP和SCP),但它可以与PuTTY集成使用,提供终端访问功能。
这些二次开发的软件在原有PuTTY的基础上增加了许多实用的功能和特性,满足了不同用户的需求。选择合适的版本可以提高工作效率,尤其是在需要管理多个会话或进行复杂操作时。
MobaXterm
MobaXterm是一款功能强大的终端软件,专为需要在远程服务器上执行命令的用户设计,特别适合开发者、系统管理员和其他IT专业人士。它集成了多种网络工具和终端功能,旨在提供一个全方位的远程计算解决方案。
虽然MobaXterm本身不是开源软件,但它提供了一个免费的社区版本,功能强大,支持SSH、SFTP、X11转发等多种协议。
主要功能和特点:
- 多协议支持:MobaXterm支持SSH、Telnet、RDP、VNC、FTP、SFTP等多种协议,允许用户通过一个界面管理多种连接类型。
- 内置X服务器:内置X11服务器,支持X11转发,用户可以在Windows上运行Linux图形界面应用程序,而无需额外的X服务器软件。
- 多标签页界面:支持多标签页,用户可以在一个窗口中管理多个会话,方便同时处理多个连接。
- 图形化SFTP浏览器:在使用SSH连接时,MobaXterm会自动启动一个SFTP浏览器,方便用户在远程主机上进行文件传输和管理。
- 丰富的Unix命令:提供了一个完整的Unix命令行环境,内置了许多常用的Unix命令,使Windows用户也能方便地执行Unix命令。
- 插件和扩展:支持插件系统,用户可以通过插件扩展软件功能,满足特定需求。
- 宏和脚本:支持宏录制和脚本编写,用户可以自动化重复的任务,提高工作效率。
- 便携版本:提供便携版本,可以在U盘等移动存储设备上运行,无需安装。
优点:
- 用户友好:界面设计直观,易于使用。
- 功能全面:集成了多种工具和功能,减少了切换不同应用程序的需要。
- 便携性:提供便携版本,方便在不同计算机上使用。
缺点:
- 资源占用:由于功能丰富,相较于其他轻量级工具,MobaXterm可能占用更多的系统资源。
- 高级功能收费:虽然MobaXterm有免费的社区版,但一些高级功能和支持需要购买专业版。
总体而言,MobaXterm是一个功能全面且易于使用的终端工具,适合需要在多个系统和协议之间频繁切换的用户。
OpenSSH
OpenSSH(Open Secure Shell)是一套用于安全远程登录和其他安全网络服务的工具。它是SSH协议的开源实现,最初由OpenBSD项目开发,并已成为大多数Unix和Linux系统的标准SSH工具集。OpenSSH旨在提供一个安全的替代方案来替换Telnet、rlogin、FTP等不安全的远程访问协议。
主要组件和功能:
- SSH客户端(ssh):允许用户通过安全的SSH协议连接到远程主机,提供加密的命令行会话。
- SSH服务器(sshd):接受来自SSH客户端的连接请求,提供安全的远程登录和命令执行环境。
- SCP(Secure Copy Protocol):通过SSH协议进行安全的文件复制,替代不安全的rcp命令。
- SFTP(SSH File Transfer Protocol):提供一个安全的文件传输协议,替代FTP,支持文件访问、传输和管理。
- SSH密钥管理(ssh-keygen、ssh-agent、ssh-add):ssh-keygen用于生成公钥/私钥对;ssh-agent和ssh-add用于管理和缓存私钥的解密过程。
- X11转发:支持通过SSH隧道转发X11会话,允许在远程主机上运行图形界面应用程序,并在本地显示。
- 端口转发:支持本地和远程端口转发,使得通过SSH隧道传输其他协议的数据成为可能。
安全特性:
- 加密:使用对称加密(如AES)和非对称加密(如RSA)来保护数据传输的机密性。
- 认证:支持多种认证方法,包括密码认证、基于密钥的认证和基于证书的认证。
- 完整性:使用消息认证码(MAC)来确保数据传输的完整性。
- 保护:通过防止中间人攻击、重放攻击和其他常见的网络攻击来提供安全的连接。
应用和优势:
- 跨平台支持:OpenSSH在各种操作系统上可用,包括Linux、Unix、Windows和macOS。
- 开源和免费:作为开源软件,OpenSSH的源代码公开,允许用户查看和修改,确保透明性和安全性。
- 广泛使用:由于其安全性和可靠性,OpenSSH已成为许多组织和个人的首选远程访问工具。
OpenSSH的灵活性和强大的安全功能使其在需要安全远程访问和文件传输的环境中非常受欢迎。它的工具集和协议支持为用户提供了一个全面的解决方案来保护和管理网络连接。
PowerShell+OpenSSH
PowerShell支持SSH连接的功能是通过集成OpenSSH实现的。自Windows 10和Windows Server 2019以来,Microsoft已将OpenSSH作为可选功能包含在操作系统中,这使得在PowerShell中使用SSH进行远程连接变得更加简单。以下是如何在PowerShell中使用SSH连接到远程服务器的基本步骤:
安装OpenSSH
如果你的Windows版本已经预装了OpenSSH,你可以跳过这一步。如果没有,你可以通过以下步骤安装:
- 打开“设置”应用,导航到“系统” > “可选功能”。
- 点击“添加功能”,然后搜索“OpenSSH Client”和“OpenSSH Server”。
- 安装“OpenSSH Client”以便在PowerShell中使用SSH命令。
使用SSH命令
在PowerShell中,使用SSH与在Linux或其他Unix系统中使用SSH几乎是一样的。基本命令格式如下:
ssh username@hostname
- username是你要连接的远程系统的用户名。
- hostname是远程系统的IP地址或主机名。
例如,要连接到IP地址为192.168.1.100的服务器,使用用户admin,命令如下:
ssh admin@192.168.1.100
使用SSH密钥认证
如果你希望使用SSH密钥进行认证,可以使用ssh-keygen命令生成密钥对,并将公钥复制到远程服务器上。
生成密钥对:
ssh-keygen -t rsa -b 2048
将公钥复制到远程服务器:
ssh-copy-id username@hostname
配置SSH客户端
你可以通过编辑SSH配置文件(通常位于~/.ssh/config)来保存常用的连接设置。配置文件示例:
Host myserver HostName 192.168.1.100 User admin Port 22 IdentityFile ~/.ssh/id_rsa
然后你可以简单地使用ssh myserver来连接。
通过这些步骤,你可以在PowerShell中轻松地使用SSH进行远程连接和管理。利用OpenSSH的集成,Windows用户现在可以更方便地在不同平台之间进行安全的远程访问。
mRemoteNG
mRemoteNG是一款开源的、多协议的远程连接管理器,专为需要管理大量远程连接的IT专业人士设计。它是mRemote的一个增强版本,提供了更强大的功能和更好的用户体验。mRemoteNG通过一个统一的界面,支持多种远程连接协议,使得管理多个会话变得更加简单和高效。
主要功能和特点:
- 多协议支持:mRemoteNG支持多种协议,包括RDP(Remote Desktop Protocol)、VNC、SSH、Telnet、HTTP/HTTPS、rlogin、Raw Socket Connections和ICA等。
- 多标签界面:提供多标签界面,用户可以在一个窗口中同时打开多个会话,方便在不同连接之间快速切换。
- 会话管理:支持会话的组织和管理,用户可以创建文件夹和子文件夹来分类和存储不同的连接信息。
- 配置和存储:允许用户为每个会话保存特定的配置和凭据,减少重复输入信息的需要。
- 便携性:mRemoteNG可以作为便携应用运行,不需要安装,适合在U盘等移动设备上使用。
- 开源和社区支持:作为开源软件,mRemoteNG的源代码可供用户查看和修改,社区活跃,用户可以获得支持和贡献改进。
- 插件和扩展:支持插件和扩展功能,用户可以根据需要添加额外的功能或集成第三方工具。
- 用户界面自定义:提供多种自定义选项,用户可以调整界面的布局、主题和其他显示选项以适应个人喜好。
优点:
- 免费开源:无需购买许可证,用户可以自由使用和修改。
- 多协议支持:一个工具即可管理多种类型的远程连接。
- 用户友好:界面直观,易于上手,适合需要管理大量会话的用户。
缺点:
- 功能相对有限:与一些商业远程管理工具相比,mRemoteNG的某些高级功能可能较少。
- 社区支持:虽然社区活跃,但某些问题的解决可能需要用户自行研究或等待社区响应。
总体而言,mRemoteNG是一款功能强大且灵活的远程连接管理工具,特别适合那些需要管理多种类型远程连接的IT专业人士和网络管理员。其开源特性也使得用户能够根据自身需求进行定制和扩展。
Tabby
Tabby(以前称为 Terminus)是一款现代化的、可高度自定义的终端仿真器和SSH客户端,适用于多种操作系统,包括Windows、macOS和Linux。Tabby以其时尚的界面设计和丰富的插件支持而著称,旨在为用户提供一个功能强大且灵活的终端体验。
主要功能和特点:
- 跨平台支持:Tabby可以在Windows、macOS和Linux系统上运行,确保用户在不同平台上的一致体验。
- 多标签和多窗格支持:提供多标签界面和多窗格布局,允许用户在一个窗口中同时管理多个会话,提高工作效率。
- 高度可定制化:用户可以通过修改主题、配色方案、字体和快捷键等选项来定制界面外观和操作方式。Tabby支持自定义CSS和JavaScript,进一步扩展其可定制性。
- 插件和扩展:Tabby拥有强大的插件系统,用户可以安装和开发插件来扩展其功能,满足特定需求。
- SSH和Shell支持:提供对SSH协议的支持,允许用户安全地连接和管理远程服务器。同时支持本地Shell,如Bash、PowerShell和CMD等。
- 现代化用户界面:界面设计现代且直观,采用了Electron框架,使得用户体验流畅。
- Unicode和Emoji支持:完整支持Unicode字符和Emoji,使其能够正确显示多语言文本和特殊符号。
- 内置终端复用:支持终端会话的保存和恢复,允许用户在重启后继续未完成的工作。
优点:
- 美观和现代化:界面设计时尚,符合现代用户的审美和使用习惯。
- 可扩展性:通过插件系统和自定义选项,用户可以根据个人或工作需要调整和扩展功能。
- 跨平台一致性:在不同操作系统上提供一致的用户体验。
缺点:
- 资源占用:由于使用Electron框架,可能会占用较多的系统资源,相较于一些轻量级终端可能运行较慢。
- 学习曲线:对于需要高度自定义和使用插件的用户,可能需要一定的学习和配置时间。
Tabby适合那些希望在终端工具中拥有更多自定义和现代化界面体验的用户,尤其是开发者和系统管理员。其强大的功能和灵活性使其成为许多需要管理多种会话和协议的用户的理想选择。
Tabby默认是新建一个针对本地电脑的终端窗口,比如如果你的电脑是windows 系统就会新建一个 cmd 控制窗口.所以,要想新建一个连接服务器的终端,要点击「设置」,进入到“配置和连接:通过新建连接来远程控制你的服务器。