整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

26个开源免费又好用的SSH客户端工具

26个开源免费又好用的SSH客户端工具

家好,我是Echa。

工欲善其事、必先利其器,每天都需要通过SSH工具远程登录服务器,那么使用一款高效的连接工具就很有必要。

安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。


SSH安全远程登录整个过程

SSH由IETF的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

利用SSH隧道动态端口转发

SSH 之所以一经提出,就得到了快速发展,是因为数据的安全性对任何人都非常重要。说到安全这块,那就就要细聊密码学基本概念:


SSH中基于秘钥的安全认证

  • 明文 plaintext 指传送方(一般指客户端)想要接受方(一般指服务端)获得的可读信息
  • 密文ciphertext 指明文经过加密后所产生的信息
  • 秘钥key 指用来完成加密、解密、完整性验证等密码学应用的密码信息,是明文转换为密文或密文转换为明文的算法需要的参数
  • 私钥 指私有的秘钥
  • 公钥 指公开的秘钥

如果你是一名运维人员或者需要进行管理远程服务器的话,相信你肯定需要用到SSH连接软件。SSH客户端就是可以使用SSH进行远程连接服务器的应用程序。


SSH场景实践,借助SSH免秘实现跳板机架构图

SSH客户端通过使用SSH协议和密钥可以让用户安全的访问云服务器以及执行 shell 命令。为了防止通过网络进行的通信被窃取,SSH 协议通过 SSL 或安全套接字层协议进行通信加密。密钥则有助于识别可靠的系统而无需任何密码并与服务器进行通信。

借此机会,今天小编给大家推荐26个开源免费又好用的SSH客户端工具,不用担心数据丢失和泄露。希望对粉丝们有所帮助。同时送上一份真挚的祝福,愿粉丝们财源广进,事业有成,健康快乐,幸福美满。愿大家的人生如诗如歌,精彩纷呈。接下来小编给大家介绍一些比较出名常用的SSH客户端工具。

全文大纲

  1. Putty (推荐)- 是一款开源免费的SSH连接客户端软件,也是最知名的Windows SSH连接工具。
  2. MobaXterm (推荐) - 一款功能强大的SSH工具,除了支持基本的SSH终端管理,还支持文件传输等功能。
  3. FinalShell(推荐)- 是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发、运维工具,充分满足开发、运维需求。
  4. Xshell - 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
  5. OpenSSH - 是另外一个比较热门的 SSH 连接客户端工具,软件是完全免费开源的.
  6. KiTTY(推荐)- 一款基于 PuTTY 的开源SSH 连接管理客户端.
  7. JuiceSSH - 一款功能强大的安卓SSH客户端应用,支持SSH, 本地Shell,Mosh和Telnet,最重要的是该软件可以直接对linux服务进行管理,是系统管理员不可或缺的神级软件。
  8. ServerCat适合苹果一族)- 是一款iOS平台上的Linux管理软件,颇有名气的自由开发者开发、维护的,很有人气。
  9. SecureCRT推荐)- 是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。
  10. WindTerm推荐)- 是一个免费用于 DevOps 的 SSH/Telnet/Serial/Shell/Sftp 客户端。
  11. NextSSH推荐)- 是一款简洁直观的 SSH 客户端, 支持 Windows、macOS 与 Linux。
  12. Tabby - 是一个高度可配置的终端模拟器、SSH 和串行客户端,适用于 Windows、macOS 和 Linux
  13. electerm - 是一个跨平台的 SSH 客户端,可用于在 Windows,macOS和 Linux 操作系统上连接和管理远程服务器。
  14. Nushell推荐)- 是一种新型的 Shell,可以在 Linux、macOS、Windows、BSD 等系统上使用。
  15. Aechoterm - 是一款免费的、跨平台的,以SSH、SFTP协议访问远程服务器的终端、文件管理工具。
  16. trzsz-ssh - 支持 trzsz ( trz / tsz ) 的 ssh 客户端,支持搜索和选择服务器进行批量登录,支持记住密码。
  17. Hyper - 是一个跨平台的SSH连接工具,最大的特点就是软件的用户界面设计的非常的美观,而且可以完全免费的进行使用。
  18. MremoteNG - 是mRemote的一个改进版开源 SSH 连接客户端,支持VNC、SSH、RDP、ICA、Telnet、Rlogin在内的多种远程连接协议。
  19. WinSCP推荐)- 是一个Windows环境下使用SSH的开源图形化SFTP客户端
  20. SmarTTY-是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。
  21. Solar-PUTTY - 是 SolarWinds 基于PuTTY改进的一款免费 SSH 连接客户端。
  22. Terminals - 是另一个免费的开源 SSH 连接客户端,支持 Telnet、RAS、VNC、RDP、SSH 在内的多种连接协议。
  23. Bastillion - 是基于Web的SSH控制台,可集中管理对系统的管理访问
  24. Golang SSH - 一个基于Golang开发的轻量级SSH客户端程序
  25. SSH-MITM -服务器专为安全审计而设计,支持公钥认证、会话劫持和文件篡改等功能。
  26. WebSSH2 - 是一个ssh2、socket.io、xterm.js和express的Web SSH客户端。

Putty - 是一款开源免费的SSH连接客户端软件,也是最知名的Windows SSH连接工具。

官网:https://www.putty.org/

介绍

Putty 是一款开源免费的SSH连接客户端软件,也是最知名的Windows SSH连接工具。适用于 Windows 和 Unix 平台的Telnet、SSH和 RLOGIN客户端。

特点

  • 跨平台支持:PuTTY 可以在多个操作系统上运行,包括 Windows、Linux、Mac 等,使得在不同的平台上使用相同的工具成为可能。
  • 轻量级和便携性:PuTTY 是一个非常轻量级的程序,可以作为一个独立的可执行文件运行,不需要进行安装过程,因此非常方便携带和使用。
  • 支持多种协议:PuTTY 支持多种网络协议,包括 SSH、Telnet、Rlogin 和串口等,可以用于远程登录和管理远程服务器、网络设备和路由器等。
  • 安全性:PuTTY 支持 SSH 协议,SSH 提供了加密和身份验证机制,保证了数据传输的安全性,防止信息被窃取或篡改。
  • 功能丰富:PuTTY 提供了一系列的功能和选项,如会话管理、支持各种加密算法、端口转发、代理设置等,可以满足不同用户的需求。
  • 简单易用:PuTTY 的用户界面简单直观,容易上手和使用,提供了基本的终端操作和文本编辑功能,使得远程连接变得更加方便和高效。

截图

MobaXterm - 一款功能强大的SSH工具,除了支持基本的SSH终端管理,还支持文件传输等功能。

官网:https://mobaxterm.mobatek.net/

介绍

Mobatek 是一家位于法国图卢兹的软件公司,带有 X11 服务器、选项卡式 SSH 客户端、网络工具等的增强型 Windows 终端;MobaXterm 是一款远程控制工具,支持创建SSH,Telnet,Rsh,Xdmc,RDP,VNC,FTP,SFTP,串口(Serial COM),本地Shell,Mosh,Aws,WSL(微软子系统)等超多连接功能。MobaXterm 提供了人性化的操作界面,支持与主流的操作系统连接进行控制和管理操作,功能十分强大。

特性

  • 嵌入式 X 服务器:基于 http://X.org 的完全配置的 Xserver
  • 轻松显示导出DISPLAY 从远程 Unix 导出到本地 Windows
  • X11-转发能力您的远程显示器使用 SSH 进行安全传输
  • 带有 SSH 的选项卡式终端基于具有抗锯齿字体和宏支持的 PuTTY
  • Windows 上的许多 Unix/Linux 命令基本 Cygwin 命令(bash、grep、awk、sed、rsync、...)
  • 附加组件和插件您可以使用插件扩展 MobaXterm 功能
  • 多功能会话管理器:一个应用程序中的所有网络工具:Rdp、Vnc、Ssh、Mosh、X11、...
  • 便携轻便的应用:MobaXterm 已打包为单个可执行文件,不需要管理员权限,您可以从 U 盘启动。
  • 专业应用MobaXterm Professional 专为安全性和稳定性而设计。

截图




FinalShell - 是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发、运维工具,充分满足开发、运维需求。

官网:https://www.hostbuf.com/

介绍

FinalShell是一款功能强大的Windows终端,它支持多个标签页、内置SSH客户端、SFTP客户端、Telnet客户端、SCP客户端和FTP客户端等。它还具有自动补全、命令行历史记录、正则表达式、宏录制和编辑器等一系列实用功能,可大大提高工作效率。另外,FinalShell还支持各种主题,可以根据个人喜好进行定制。

功能介绍

主要功能介绍:

  • 多平台支持Windows,macOS,Linux
  • 多标签,批量服务器管理.
  • 支持登录ssh和Windows远程桌面.
  • 漂亮的平滑字体显示,内置100多个配色方案.
  • 终端,sftp同屏显示,同步切换目录.
  • 命令自动提示,智能匹配,输入更快捷,方便.
  • sftp支持,通过各种优化技术,加载更快,切换,打开目录无需等待.
  • 服务器网络,性能实时监控,无需安装服务器插件.
  • 内置海外服务器加速,加速远程桌面和ssh连接,操作流畅无卡顿.
  • 内存,Cpu性能监控,Ping延迟丢包,Trace路由监控.
  • 实时硬盘监控.
  • 进程管理器.
  • 快捷命令面板,可同时显示数十个命令.
  • 内置文本编辑器,支持语法高亮,代码折叠,搜索,替换.
  • ssh和远程桌面均支持代理服务器.
  • 打包传输,自动压缩解压.
  • 支持rz,sz (zmodem)
  • 多地点ping监控
  • 命令输入框,支持自动补全,命令历史
  • 自定义命令参数功能,可动态根据输入参数生成命令
  • 可设置终端背景图片,并拥有动态背景模糊,文字阴影效果.
  • 一键查看各种系统信息

系统截图

Xshell - 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

官网:https://www.xshell.com/zh/xshell/

介绍

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
Xshell 通过互联网到远程主机的安全连接帮助用户在复杂的网络环境中享受他们的工作。
Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。
总结起来也就是说Xshell是用于远程连接Linux服务器,方便用户对Linux服务器上的资源文件进行远程操控;

截图

OpenSSH - 是另外一个比较热门的 SSH 连接客户端工具,软件是完全免费开源的。

官网:https://www.openssh.com/

介绍

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,软件是完全开源免费的。SSH协议组可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。

OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。

特点

  • 通过使用 ssh、sftp 和 scp 执行远程操作
  • 使用 ssh-add、ssh-keysign、ssh-keyscan 和 ssh-keygen 进行密钥管理。
  • 服务端包括sshd、sftp-server 和 ssh-agent。
  • AES、ECDSA、Ed25519、ChaCha20加密技术。

截图



KiTTY - 一款基于 PuTTY 的开源SSH 连接管理客户端

Github:https://github.com/cyd01/KiTTY


介绍

Kitty软件是一款流行的SSH和Telnet客户端,最初由KiTTY团队创建和开发。它是一个在Windows操作系统中运行的免费开源软件,支持多种协议和加密方法,如SSH、Telnet、登录、SCP、SFTP等。

用户可以通过Kitty连接到远程服务器,以便在本地计算机上进行管理、维护和操作。Kitty还提供图形用户界面(GUI)和命令行界面(CLI),使用户可以根据自己的偏好选择需要的交互方式。

特性

  • 支持多种协议和加密方法
  • 自动重连功能,保证连接的稳定性
  • 快速的数据传输速度,缩短了等待时间
  • 灵活性强,可以进行多种自定义设置
  • 内置的屏幕滚动功能,便于查看操作记录
  • 调试和故障排除工具,可用于诊断连接问题
  • 密码和密钥管理功能,保证连接的安全性

优势

相比其他SSH和Telnet客户端,Kitty软件具有许多优势。首先,Kitty是一款免费开源的软件,不需要支付任何费用。其次,Kitty有一个庞大的用户社区,提供支持和建议,使得使用过程更加便捷和简单。此外,Kitty可以以多种语言提供支持,使得全球用户都可以使用Kitty。最后,Kitty具有高度的可定制性,让用户可以根据自己的需求进行设置和调整。

总的来说,Kitty软件是一个出色的SSH和Telnet客户端,它具有多种协议和加密方法,提供自动重连、优化的数据传输速度、内置的屏幕滚动等功能,拥有高度的可定制性。Kitty软件的安装和使用也非常简单。如果你需要远程管理和维护服务器,那么Kitty是一个非常好的选择。

JuiceSSH - 一款功能强大的安卓SSH客户端应用,支持SSH, 本地Shell,Mosh和Telnet,最重要的是该软件可以直接对linux服务进行管理,是系统管理员不可或缺的神级软件。

官网:https://www.juicessh.com/

介绍

juicessh是一款功能强大的安卓SSH客户端应用,支持SSH, 本地Shell,Mosh和Telnet,最重要的是该软件可以直接对linux服务进行管理,是系统管理员不可或缺的神级软件。

同时只要利用该软件进行了SSH远程连接,那么就可以直接使用命令行远程操作你的windows主机了,比如关机、注销、重启、查看或终止系统进程、打开音乐播放器等等常见操作都可以使用命令行的形式进行远程操作,非常强大。

而且juicessh还为用户们提供了IPv6协议、UTF-8字符、SSH密钥转发代理、端口转发、主机云同步备份等各种功能,非常丰富,并为了可以更好的满足广大用户的个性化使用需求,其中还提供了第三方插件、暗色界面、多种终端配色方案、调节字体大小等操作,非常细节。

截图

ServerCat - 是一款iOS平台上的Linux管理软件,颇有名气的自由开发者开发、维护的,很有人气。

官网:https://servercat.app/

介绍

ServerCat 是一款iOS平台上的Linux管理软件,它可以让你在iPhone上连接远程服务器,用来监视系统性能、管理Docker和执行SSH命令,软件内提供了很多监控参数,比如CPU、内存、系统负载、网速、硬盘等,并且以可视化的形式展示,你可以随时查看自己服务器的系统状态,避免因负载过高则影响产品服务

SecureCRT - 是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。

官网:https://www.vandyke.com/products/securecrt/index.html

介绍

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。

SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。

通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。

截图

WindTerm - 是一个免费用于 DevOps 的 SSH/Telnet/Serial/Shell/Sftp 客户端。

Github:https://github.com/kingToolbox/WindTerm

介绍

WindTerm 是一款开源免费、跨平台SSH/Sftp/Shell/Telnet/Serial 客户端,即远程连接工具,还跨平台,支持 Windows、Linux 和 macOS。

特点

  • 实现了 SSH v2、Telnet、Raw Tcp、Serial、Shell 协议。
  • 会话认证时支持 SSH 自动执行。
  • 支持SSH代理转发。
  • 支持使用密码、公钥、键盘交互、gssapi-with-mic 的 SSH
  • 自动登录。
  • 支持X11转发。
  • 支持直接/本地端口转发、反向/远程端口转发和动态端口转发。
  • 集成sftp、scp客户端,支持下载、上传、删除、重命名、新建文件/目录等。
  • 集成本地文件管理器,支持移动到、复制到、复制自、删除、重命名、新建文件/目录等。
  • 支持 Cmd、PowerShell 和 Cmd、PowerShell 作为管理员。

NextSSH - 是一款简洁直观的 SSH 客户端, 支持 Windows、macOS 与 Linux。

官网:https://codemutex.com/

介绍

NextSSH 是一款简洁直观的 SSH 客户端, 支持 Windows、macOS 与 Linux。 并且集成了 SFTP、远程文件编辑、数据同步等辅助功能。

特性

现代的终端

现如今,很多实用的 IDE 和编辑器工具都能提供舒适的编辑环境和自动提示。
在 NextSSH 终端界面按下 Shift + Enter 即可唤出命令编辑栏。 在此您可以编辑较为复杂的命令,按下 Ctrl + Enter 发送。

平行任务,平铺标签

进行复杂任务,您可以将标签页拖拽到任意位置。
比如终端在左,配置文件编辑器在右。平行任务,平铺标签

命令面板

使用 Ctrl(Cmd) + Shift + K 唤出命令面板。
您可进行模糊搜索,快速连接服务器、打开文件、发送预先保存的命令片段。



在线编辑文件

您可以通过 SFTP 在线管理和编辑配置文件的功能,不必将文件反复拷贝到本地。大多数的语言或文件都能得到良好的代码高亮和提示。

实时了解系统状态

NextSSH 提供了实时的数据监看功能,帮助用户关注设备与软件的状态。

Tabby - 是一个高度可配置的终端模拟器、SSH 和串行客户端,适用于 Windows、macOS 和 Linux

官网:https://tabby.sh/

Github:https://github.com/eugeny/tabby

介绍

Tabby(原名 Terminus)是一个高度可配置的终端模拟器、SSH 和串行客户端,适用于 Windows、macOS 和 Linux。

特性:

  • 集成的 SSH 客户端和连接管理器
  • 集成的串行终端
  • 主题设计和色彩方案
  • 完全可配置的快捷键
  • 分割窗格
  • 记忆你的标签
  • 支持 PowerShell(和 PS Core)、WSL、Git-Bash、Cygwin、Cmder 和 CMD
  • 通过 Zmodem 在 SSH 会话中直接传输文件
  • 完全支持 Unicode,包括双角的字符
  • 在 Windows 上有适当的 shell 体验,包括标签完成(通过 Clink)。
  • 为 SSH secrets 和配置提供集成的加密容器

功能:

  • 一个 V220 终端 + 各种扩展
  • 多个嵌套分割窗格
  • 在窗口的任何一侧都有标签
  • 可选的可停靠窗口,有一个全局生成热键
  • 进程检测
  • 进程完成时的通知
  • 自定义 shell 配置文件
  • 可选的 RMB 粘贴和复制选择(PuTTY 风格)

系统截图


electerm - 是一个跨平台的 SSH 客户端,可用于在 Windows,macOS和 Linux 操作系统上连接和管理远程服务器。

官网:https://electerm.html5beta.com/

Github:https://github.com/electerm/electerm

介绍

electerm 是基于 electron/ssh2/node-pty/xterm/antd/subx 和其他 lib 的终端 /ssh/sftp 客户端,适用于 Windows、macOS 和 Linux。

特性:

  • 作为一个终端 / 文件管理器或 ssh/sftp 客户端运作(类似于 xshell);
  • 全局热键来切换窗口的可见性;
  • 多平台(Linux、Mac、Win);
  • 支持多国语言;
  • 双击直接编辑远程文件;
  • 用内置编辑器编辑本地文件;
  • 用公钥 + 密码认证;
  • 透明窗口(Mac、Win)。
  • 终端背景图像;
  • 全局 / 会话代理;
  • 快速命令;
  • 同步书签 / 主题 / 快速命令到 github/gitee;
  • 压缩和传输文件夹并自动解压

Nushell - 是一种新型的 Shell,可以在 Linux、macOS、Windows、BSD 等系统上使用。

官网:www.nushell.sh/

Github:https://github.com/nushell/nushell

介绍

这个项目的目标是彰显 Shell 的 Unix 哲学,就是用管道将简单的命令连接在一起,并且带来现代的开发风格。

Nu 从许多熟悉的领域中汲取了线索:bash 等传统 shell,PowerShell 等高级 shell,函数式编程,系统编程等。但是 Nu 并没有试图成为所有行业的杰作,而是将精力集中在做好一些事情上:

  • 创建具有现代感的灵活的跨平台 Shell
  • 允许你将命令行应用程序与可理解数据结构的 Shell 进行混合和匹配
  • 具有现代命令行应用程序提供的用户体验优

截图



Aechoterm - 是一款免费的、跨平台的,以SSH、SFTP协议访问远程服务器的终端、文件管理工具。

官网:https://ec.nantian.com.cn/


介绍

Aechoterm 是一款免费的、跨平台的,以SSH、SFTP协议访问远程服务器的终端、文件管理工具。可以将本地与远程主机文件进行互传,并可在多个远程服务器上同时执行命令

基本特点

完全免费,风格简约,支持中文,自带sftp,安全稳定,Windows/macOS/Linux多平台可用。

截图


trzsz-ssh - 支持 trzsz ( trz / tsz ) 的 ssh 客户端,支持搜索和选择服务器进行批量登录,支持记住密码。

官网:https://trzsz.github.io/ssh

Github:https://github.com/trzsz/trzsz-ssh

介绍

支持 trzsz ( trz / tsz ) 的 ssh 客户端,支持搜索和选择服务器进行批量登录,支持记住密码。

  • 你喜欢的 ssh 终端是否有好用的服务器管理功能?是否支持记住密码?是否有好用的文件传输工具?
  • tssh 支持选择或搜索 ~/.ssh/config 中配置的服务器,支持 vim 操作习惯,解决 ssh 终端的服务器管理问题。
  • tssh 支持一次选择多台服务器,批量登录,并支持批量执行预先指定的命令,方便快速完成批量服务器操作。
  • tssh 支持配置服务器登录密码,解决每次手工输入密码的麻烦( 在自己能控制的服务器,推荐使用公私钥登录 )。
  • tssh 内置支持 trzsz ( trz / tsz ) 文件传输工具,一并解决了 Windows 中使用 trzsz ssh 上传速度很慢的问题。
  • 在作者的 MacOS 上,使用 trzsz ssh 的上传速度在 10 MB/s 左右,而使用 tssh 可以到 80 MB/s 以上。

截图

Hyper - 是一个跨平台的SSH连接工具,最大的特点就是软件的用户界面设计的非常的美观,而且可以完全免费的进行使用。

官网:https://hyper.is/

介绍

Hyper是一个跨平台的SSH连接工具,最大的特点就是软件的用户界面设计的非常的美观。而且可以完全免费的进行使用,并且支持各种类型的系统平台(包括 Windows、Mac OS 和 Debian、 Fedora)。

Hyper的目标是为所有使用枯燥乏味的命令行界面的用户提供可扩展且令人愉悦的SSH连接管理体验。并且可以为用户提供高稳定性、快速以及开发正确的API接口。

Hyper对DSA 和 RSA 公钥身份验证提供出色的支持以及全面设计的用户密钥对管理。此外还带有高级别的可编写脚本的命令行SFTP 客户端。

截图




MremoteNG - 是mRemote的一个改进版开源 SSH 连接客户端,支持VNC、SSH、RDP、ICA、Telnet、Rlogin在内的多种远程连接协议。

官网:https://mremoteng.org/

Github:https://github.com/mRemoteNG/mRemoteNG

介绍

mRemoteNG是 SSH 客户端最好的开源 PuTTY 替代品之一,它是mRemote的一个分支,提供了广泛的远程连接功能。

该系统下的每个应用程序都具有多个焦点,mRemoteNG提供多选项卡和多协议功能。它支持以选项卡式界面为基础的多个远程会话。

主要特点:

  • 集成多种连接协议,包括 SSH、Telnet、rLogin、RAW 和 HTTP/HTTPS。
  • 支持与 RDP、VNC 和 ICA(Citrix 独立计算机架构)的远程桌面连接。

WinSCP - 是一个Windows环境下使用SSH的开源图形化SFTP客户端。

官网:https://winscp.net/eng/index.php


介绍

WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。

截图


SmarTTY-是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。

官网:https://sysprogs.com/SmarTTY/

介绍

SmarTTY是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。

SSH服务器每个连接支持最多10个子会话.SmarTTY在做得:没有多个窗口,不需要重新登录,仅打开一个新的标签页可以。

Solar-PUTTY - 是 SolarWinds 基于PuTTY改进的一款免费 SSH 连接客户端。

官网:https://www.solarwinds.com/free-tools/solar-putty


介绍

Windows 上的另一个PuTTY替代品是 SolarWinds 的 – Solar-PuTTY,它是一种免费使用的许可工具,提供安全的 SSH 连接以及依赖于 SFTP 和 SCP 的集成文件传输机制。

与PuTTY一样,Solar-PUTTY可用于远程登录您的计算机并在设备之间传输文件。Solar-PuTTY 还在其安全终端仿真器功能下实施 Telnet 系统。该界面保存凭据,使您可以自动登录并安全连接。

Solar-PUTTY – 免费的 SSH 客户端


主要特点:

  • 登录和重新连接选项的完全自动化。
  • 支持连接后脚本。
  • 可定制的用户界面。
  • 在多台服务器上自动保存凭据。

Terminals - 是另一个免费的开源 SSH 连接客户端,支持 Telnet、RAS、VNC、RDP、SSH 在内的多种连接协议。

官网:https://www.termius.com/

介绍

Terminals是另一个免费的开源 SSH 连接客户端,可以帮助你从 Windows 计算机远程登录到 Linux 服务器。支持 Telnet、RAS、VNC、RDP、SSH 在内的多种连接协议。此外还可以直接保存密码、远程服务器的登录ID等凭据,以便通过一键点击快速的连接到服务器进行管理。

Terminals还能够以全屏模式进行管理。还支持在使用时进行屏幕截图。软件重新启动后,可以快速打开已保存的连接。你甚至可以从其窗口打开自定义的应用程序。还提供了创建一组服务器的功能。可以为同一服务器轻松保存多个用户凭据。

Bastillion - 是基于Web的SSH控制台,可集中管理对系统的管理访问

官网:https://www.bastillion.io/

Github:https://github.com/bastillion-io/Bastillion

介绍

Bastillion是一款基于Web的SSH控制终端,该工具可以帮助广大开发人员集中管理针对目标系统的管理员权限访问。这款基于Web的管理工具还结合了用户公共SSH密钥的管理和分发,而密钥的管理需要基于配置文件中定义的用户身份来进行分配。

管理员可以使用Authy或Google Authenticator来在登录时开启双因素身份验证功能。登录后,他们就可以管理公共SSH密钥,或通过一个WebShell来连接到他们的系统中了。在Bastillion中,命令是可以跨Shell共享的,这样可以简化操作,并消除冗余的命令执行。

Bastillion将TLS/SSL层放在SSH之上,并充当bastion主机进行管理。由于Bastillion使用的协议栈为TLS/SSL+SSH,因此基础设施不能通过隧道/端口转发来暴露在外。另外,默认情况下启用SSH密钥管理,以防止非托管公钥并强制实施最佳实践。

截图


Golang SSH - 一个基于Golang开发的轻量级SSH客户端程序

官网:https://github.com/melbahja/goph

Github:https://github.com/melbahja/goph


介绍

这是一个基于Golang开发的轻量级SSH客户端程序。

主要功能特性包括:

  • 易于使用和简单的API。
  • 默认情况下支持已知主机。
  • 支持使用密码连接。
  • 支持使用私钥的连接。
  • 支持使用带密码短语的受保护私钥进行连接。
  • 支持从本地到远程上传文件。
  • 支持从远程下载文件到本地。
  • 支持与ssh代理的连接(仅限Unix系统)。
  • 支持将新主机添加到known_hosts文件。
  • 支持文件系统操作,如:Open, Create, Chmod...
  • 支持上下文。命令取消的上下文。

SSH-MITM -服务器专为安全审计而设计,支持公钥认证、会话劫持和文件篡改等功能。

官网:https://docs.ssh-mitm.at/


介绍

SSH-MITM服务器专为安全审计而设计,支持公钥认证、会话劫持和文件篡改等功能。需要注意的是,该工具基于Python语言开发,因此需要在主机设备上安装并配置好Python环境。

SSH-MITM能够支持密码和公钥身份验证,能够检测用户是否能够在远程服务器上使用公钥身份验证登录。允许SSH-MITM接受与目标服务器相同的密钥。如果无法进行公钥身份验证,则身份验证将会退到密码身份验证。

WebSSH2 - 是一个ssh2、socket.io、xterm.js和express的Web SSH客户端。

Github:https://github.com/billchurch/webssh2


介绍

WebSSH2是一个ssh2、socket.io、xterm.js和express的Web SSH客户端,是一个基于HTML5 Web的终端仿真器和SSH客户端的应用,通WebSocket/Socket.io连接服务端的SSH2客户端代理,再连接到SSH2服务器。

截图

最后

一行代码,可能会创造出下一个让人惊叹的产品;
一个创新,可能会开启一个全新的科技时代;
一份初心,可能会影响到无数人的生活;
无论是在大公司工作,还是在小团队奋斗;
无论是资深的程序员,还是刚刚入行的新手;
每个人的代码,都有力量改变世界。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

创作文章的初心是:沉淀、分享和利他。既想写给现在的你,也想贪心写给 10 年、20 年后的工程师们,现在的你站在浪潮之巅,面对魔幻的互联网世界,很容易把一条河流看成整片大海。未来的读者已经知道了这段技术的发展历史,但难免会忽略一些细节。如果未来的工程师们真的创造出了时间旅行机器,可以让你回到现在。那么小编的创作就是你和当年工程师们的接头暗号,你能感知到他们在这个时代的键盘上留下的余温。

#文章首发挑战赛#

、采用samba服务,访问共享文件

1、UOS访问Win7共享文件夹方法

文件管理器中输入smb://ip/**共享文件夹名**,回车,输入共享机器的用户名和密码即可访问,如图:

注:不可直接输入smb://ip,会有报错提示,如图:

2、UOS访问Win10共享文件夹方法

a、文件管理器中输入smb://ip,输入共享机器的用户名和密码,会访问到共享文件夹所在的目录(**这是区别Win7的地方**):

b、如若知道共享文件夹名,直接输入smb://ip/共享文件夹名,可访问所需的共享文件:

3、UOS访问UOS共享文件夹方法

文件管理器中输入smb://ip或者smb://ip/共享文件夹名 都可以

注:区别在于输入用户名和密码,非登陆系统的密码,而是单独设置的共享密码

首先设置共享机器的共享密码,然后访问时输入该密码:

二、通过scp命令进行文件传输

1、UOS之间文件传输

假定文件a.txt 、b.jpg 、c.pdf ,文件夹abc,本地计算机账号uos,远程计算机ip10.20.6.48,账号test

a、从本地复制文件到远程计算机命令如下:

scp a.txt test@10.20.6.48:/home/test/abc

b、从远程计算机复制文件到本地命令如下:

scp test@10.20.6.48:/home/test/abc/b.jpg /home/uos

c、从本地复制多个文件到远程计算机命令如下(多个文件使用空格分开):

scp a.txt c.pdf test@10.20.6.48:/home/test/abc

d、从远程计算机复制多个文件到本地命令如下:

scp test@10.20.6.48:/home/test/abc/\{a.txt,b.jpg,c.pdf} /home/uos

e、从本地复制整个文件夹到远程计算机命令如下:

scp -r abc test@10.20.6.48:/home/test

f、从远程主机复制整个文件夹到本地命令如下:

scp -r test@10.20.6.48:/home/test/abc /home/uos

注:使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的

2、UOS与Windows之间文件传输

由于windows系统本身不支持ssh协议,所以,要想命令成功执行,必须在windows安装ssh for windows的客户端软件,比如winsshd,使windows系统支持ssh协议才行

winsshd下载地址,https://pc.qq.com/detail/12/detail_91212.html

开启ssh服务后,互传文件的命令与上面相同,此处略

SH转发对于传输使用未加密协议(如VNC或FTP),访问地理限制内容或绕过中间防火墙的服务的网络数据非常有用。 基本上,您可以转发任何TCP端口并通过安全的SSH连接隧道传输流量。

SSH 端口转发有三种类型:

本地端口转发。 - 将连接从客户端主机转发到 SSH 服务器主机,然后转发到目标主机端口。
远程端口转发。 - 将端口从服务器主机转发到客户端主机,然后转发到目标主机端口。
动态端口转发。 - 创建 SOCKS 代理服务器,允许跨一系列端口进行通信。
在本文中,我们将讨论如何设置本地,远程和动态加密的 SSH 隧道。

本地端口转发

本地端口转发允许您将本地 (ssh 客户端)计算机上的端口转发到远程 (ssh 服务器)计算机上的端口,然后将其转发到目标计算机上的端口。

在这种类型的转发中, SSH 客户端侦听给定端口,并将与该端口的任何连接隧道连接到远程 SSH 服务器上的指定端口,然后该端口连接到目标计算机上的端口。目标计算机可以是远程 SSH 服务器或任何其他计算机。

本地端口转发主要用于连接内部网络(如数据库或 VNC 服务器)上的远程服务。

在 Linux , macOS 和其他 Unix 系统中创建本地端口转发将 -L 选项传递给 ssh 客户端:

ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER


使用的选项如下:

[LOCAL_IP:]LOCAL_PORT - 本地机器的 ip 和端口号。当 LOCAL_IP 省略 SSH 客户端会连接本地主机。
DESTINATION:DESTINATION_PORT - 目标计算机的 IP 或主机名和端口。
[USER@]SERVER_IP - 远程 SSH 用户和服务器 IP 地址。

LOCAL_PORT 可以使用任何大于 1024 的端口号。端口号小于 1024 特权端口,只能由 root 用户使用。如果您的 SSH 服务器正在侦听 22 以外的端口(默认值),请使用该 -p [PORT_NUMBER] 选项。

目标主机名必须可从 SSH 服务器解析。

假设您在内部(专用)网络上的计算机 db001.host 上运行 MySQL 数据库服务器,在端口 3306 上可以从计算机访问,并且您希望使用本地计算机 pub001.host 上的 mysql 客户端连接到数据库服务器。为此,您可以转发连接,如下所示:

ssh -L 3336:db001.host:3306 user@pub001.host


运行该命令后,系统将提示您输入远程 SSH 用户密码。输入后,您将登录远程服务器并建立 SSH 隧道。建立基于 SSH 密钥的身份验证连接到服务器而不输入密码是更好的选择。

现在,如果您将本地计算机数据库客户端指向 127.0.0.1:3336 ,则连接将 db001.host:3306 通过 pub001.host 将充当中间服务器的计算机转发到 MySQL 服务器。

您可以在单个 ssh 命令中将多个端口转发到多个目标。例如,您在计算机上运行另一个 MySQL 数据库服务器, db002.host 并且您希望从您将运行的本地客户端连接到两个服务器:

ssh -L 3336:db001.host:3306 3337:db002.host:3306 user@pub001.host


要连接到您将使用的第二台服务器 127.0.0.1:3337 。

目标主机与 SSH 服务器相同时,而不是指定可以使用的目标主机 IP 或主机名 localhost 。

假设您需要通过在同一服务器上运行的 VNC 连接到远程计算机,并且无法从外部访问它。您将使用的命令是:

ssh -L 5901:127.0.0.1:5901 -N -f user@remote.host

该 -f 选项告诉 ssh 命令在后台运行而 -N 不是执行远程命令。我们正在使用, localhost 因为 VNC 和 SSH 服务器在同一主机上运行。

如果您在设置隧道时遇到问题,请检查远程 SSH 服务器配置并确保 AllowTcpForwarding 未设置为 no 。默认情况下,允许转发。

远程端口转发

远程端口转发与本地端口转发相反。它允许您将远程 (ssh 服务器)计算机上的端口转发到本地 (ssh 客户端)计算机上的端口,然后将其转发到目标计算机上的端口。

在这种类型的转发中, SSH 服务器侦听给定端口,并将与该端口的任何连接隧道连接到本地 SSH 客户端上的指定端口,然后该端口连接到目标计算机上的端口。目标计算机可以是本地计算机或任何其他计算机。

在 Linux , macOS 和其他 Unix 系统中创建远程端口转发将 -R 选项传递给 ssh 客户端:

ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER

使用的选项如下:

[REMOTE:]REMOTE_PORT - 远程 SSH 服务器上的 IP 和端口号。空 REMOTE 表示远程 SSH 服务器将在所有接口上绑定。
DESTINATION:DESTINATION_PORT - 目标计算机的 IP 或主机名和端口。
[USER@]SERVER_IP - 远程 SSH 用户和服务器 IP 地址。
本地端口转发主要用于从外部向某人提供对内部服务的访问。

假设您正在本地计算机上开发 Web 应用程序,并且希望向其他开发人员显示预览。您没有公共 IP ,因此其他开发人员无法通过 Internet 访问该应用程序。

如果您可以访问远程 SSH 服务器,则可以按如下方式设置远程端口转发:

ssh -L 8080:127.0.0.1:3000 -N -f user@remote.host

上面的命令将使 ssh 服务器侦听端口 8080 并将从该端口到端口的本地计算机的所有流量隧道传输 3000 。现在您的开发人员可以输入 the_ssh_server_ip:8080 他/她的浏览器并预览您的应用程序。如果您有麻烦设置远程端口转发,确保 GatewayPorts 被设置为 yes 在远程 SSH 服务器配置。

动态端口转发

动态端口转发允许您在充当 SOCKS 代理服务器的本地 (ssh 客户端)计算机上创建套接字。当客户端连接到此端口时,连接将转发到远程 (ssh 服务器)计算机,然后将其转发到目标计算机上的动态端口。

这样,使用 SOCKS 代理的所有应用程序将连接到 SSH 服务器,服务器将所有流量转发到其实际目的地。

在 Linux , macOS 和其他 Unix 系统中创建动态端口转发 (SOCKS) 将 -D 选项传递给 ssh 客户端:

ssh -R [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER

使用的选项如下:

[LOCAL_IP:]LOCAL_PORT - 本地机器的 ip 和端口号。当 LOCAL_IP 省略 SSH 客户端结合在本地主机。
[USER@]SERVER_IP - 远程 SSH 用户和服务器 IP 地址。
动态端口转发的典型示例是通过 SSH 服务器隧道传输 Web 浏览器流量。

以下命令将在端口上创建 SOCKS 隧道 9090 :

ssh -D 9090 -N -f user@remote.host

建立隧道后,您可以配置应用程序以使用它。本文介绍如何配置 Firefox 和 Google Chrome 浏览器以使用 SOCKS 代理。必须为要对其进行隧道传输的每个应用程序单独配置端口转发。

在 Windows 中设置 SSH 隧道

Windows 用户可以使用 PuTTY SSH 客户端创建 SSH 隧道。你可以在这里下载 PuTTY 。

启动 Putty 并在 Host name (or IP address) 字段中输入 SSH 服务器 IP 地址。

在 Connection 菜单下,展开 SSH 并选择 Tunnels 。检查 Local 单选按钮以设置本地, Remote 远程和 Dynamic 动态端口转发。

如果设置本地转发,请在该 Source Port 字段中 Destination 输入本地转发端口,然后输入目标主机和 IP ,例如 localhost:5901 。
对于远程端口转发,请在该 Source Port 字段中 Destination 输入远程 SSH 服务器转发端口,然后输入目标主机和 IP ,例如 localhost:3000 。
如果设置动态转发,则仅输入 Source Port 字段中的本地 SOCKS 端口。

单击 Add 按钮,如下图所示。

返回 Session 页面以保存设置,这样您每次都不需要输入它们。在 Saved Session 字段中输入会话名称,然后单击 Save 按钮。

选择已保存的会话,然后单击 Open 按钮登录远程服务器。

将显示一个询问您的用户名和密码的新窗口。输入用户名和密码后,您将登录到服务器并启动 SSH 隧道。

设置公钥验证将允许您在不输入密码的情况下连接到服务器。

总结

我们已经向您展示了如何设置 SSH 隧道并通过安全的 SSH 连接转发流量。为了便于使用,您可以在 SSH 配置文件中定义 SSH 隧道,或创建将设置 SSH 隧道的 Bash 别名

转自:https://www.linuxprobe.com/set-ssh-tunel.html