家好,我是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中基于秘钥的安全认证
如果你是一名运维人员或者需要进行管理远程服务器的话,相信你肯定需要用到SSH连接软件。SSH客户端就是可以使用SSH进行远程连接服务器的应用程序。
SSH场景实践,借助SSH免秘实现跳板机架构图
SSH客户端通过使用SSH协议和密钥可以让用户安全的访问云服务器以及执行 shell 命令。为了防止通过网络进行的通信被窃取,SSH 协议通过 SSL 或安全套接字层协议进行通信加密。密钥则有助于识别可靠的系统而无需任何密码并与服务器进行通信。
借此机会,今天小编给大家推荐26个开源免费又好用的SSH客户端工具,不用担心数据丢失和泄露。希望对粉丝们有所帮助。同时送上一份真挚的祝福,愿粉丝们财源广进,事业有成,健康快乐,幸福美满。愿大家的人生如诗如歌,精彩纷呈。接下来小编给大家介绍一些比较出名常用的SSH客户端工具。
官网:https://www.putty.org/
介绍
Putty 是一款开源免费的SSH连接客户端软件,也是最知名的Windows SSH连接工具。适用于 Windows 和 Unix 平台的Telnet、SSH和 RLOGIN客户端。
特点
截图
官网:https://mobaxterm.mobatek.net/
介绍
Mobatek 是一家位于法国图卢兹的软件公司,带有 X11 服务器、选项卡式 SSH 客户端、网络工具等的增强型 Windows 终端;MobaXterm 是一款远程控制工具,支持创建SSH,Telnet,Rsh,Xdmc,RDP,VNC,FTP,SFTP,串口(Serial COM),本地Shell,Mosh,Aws,WSL(微软子系统)等超多连接功能。MobaXterm 提供了人性化的操作界面,支持与主流的操作系统连接进行控制和管理操作,功能十分强大。
特性
截图
官网:https://www.hostbuf.com/
介绍
FinalShell是一款功能强大的Windows终端,它支持多个标签页、内置SSH客户端、SFTP客户端、Telnet客户端、SCP客户端和FTP客户端等。它还具有自动补全、命令行历史记录、正则表达式、宏录制和编辑器等一系列实用功能,可大大提高工作效率。另外,FinalShell还支持各种主题,可以根据个人喜好进行定制。
功能介绍
主要功能介绍:
系统截图
官网:https://www.xshell.com/zh/xshell/
介绍
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
Xshell 通过互联网到远程主机的安全连接帮助用户在复杂的网络环境中享受他们的工作。
Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。
总结起来也就是说Xshell是用于远程连接Linux服务器,方便用户对Linux服务器上的资源文件进行远程操控;
截图
官网:https://www.openssh.com/
介绍
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,软件是完全开源免费的。SSH协议组可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。
OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
特点
截图
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是一个非常好的选择。
官网:https://www.juicessh.com/
介绍
juicessh是一款功能强大的安卓SSH客户端应用,支持SSH, 本地Shell,Mosh和Telnet,最重要的是该软件可以直接对linux服务进行管理,是系统管理员不可或缺的神级软件。
同时只要利用该软件进行了SSH远程连接,那么就可以直接使用命令行远程操作你的windows主机了,比如关机、注销、重启、查看或终止系统进程、打开音乐播放器等等常见操作都可以使用命令行的形式进行远程操作,非常强大。
而且juicessh还为用户们提供了IPv6协议、UTF-8字符、SSH密钥转发代理、端口转发、主机云同步备份等各种功能,非常丰富,并为了可以更好的满足广大用户的个性化使用需求,其中还提供了第三方插件、暗色界面、多种终端配色方案、调节字体大小等操作,非常细节。
截图
官网:https://servercat.app/
介绍
ServerCat 是一款iOS平台上的Linux管理软件,它可以让你在iPhone上连接远程服务器,用来监视系统性能、管理Docker和执行SSH命令,软件内提供了很多监控参数,比如CPU、内存、系统负载、网速、硬盘等,并且以可视化的形式展示,你可以随时查看自己服务器的系统状态,避免因负载过高则影响产品服务
官网: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鉴别。
截图
Github:https://github.com/kingToolbox/WindTerm
介绍
WindTerm 是一款开源免费、跨平台SSH/Sftp/Shell/Telnet/Serial 客户端,即远程连接工具,还跨平台,支持 Windows、Linux 和 macOS。
特点
官网:https://codemutex.com/
介绍
NextSSH 是一款简洁直观的 SSH 客户端, 支持 Windows、macOS 与 Linux。 并且集成了 SFTP、远程文件编辑、数据同步等辅助功能。
特性
现代的终端
现如今,很多实用的 IDE 和编辑器工具都能提供舒适的编辑环境和自动提示。
在 NextSSH 终端界面按下 Shift + Enter 即可唤出命令编辑栏。 在此您可以编辑较为复杂的命令,按下 Ctrl + Enter 发送。
平行任务,平铺标签
进行复杂任务,您可以将标签页拖拽到任意位置。
比如终端在左,配置文件编辑器在右。平行任务,平铺标签
命令面板
使用 Ctrl(Cmd) + Shift + K 唤出命令面板。
您可进行模糊搜索,快速连接服务器、打开文件、发送预先保存的命令片段。
在线编辑文件
您可以通过 SFTP 在线管理和编辑配置文件的功能,不必将文件反复拷贝到本地。大多数的语言或文件都能得到良好的代码高亮和提示。
实时了解系统状态
NextSSH 提供了实时的数据监看功能,帮助用户关注设备与软件的状态。
官网:https://tabby.sh/
Github:https://github.com/eugeny/tabby
介绍
Tabby(原名 Terminus)是一个高度可配置的终端模拟器、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。
特性:
官网:www.nushell.sh/
Github:https://github.com/nushell/nushell
介绍
这个项目的目标是彰显 Shell 的 Unix 哲学,就是用管道将简单的命令连接在一起,并且带来现代的开发风格。
Nu 从许多熟悉的领域中汲取了线索:bash 等传统 shell,PowerShell 等高级 shell,函数式编程,系统编程等。但是 Nu 并没有试图成为所有行业的杰作,而是将精力集中在做好一些事情上:
截图
官网:https://ec.nantian.com.cn/
介绍
Aechoterm 是一款免费的、跨平台的,以SSH、SFTP协议访问远程服务器的终端、文件管理工具。可以将本地与远程主机文件进行互传,并可在多个远程服务器上同时执行命令
基本特点
完全免费,风格简约,支持中文,自带sftp,安全稳定,Windows/macOS/Linux多平台可用。
截图
官网:https://trzsz.github.io/ssh
Github:https://github.com/trzsz/trzsz-ssh
介绍
支持 trzsz ( trz / tsz ) 的 ssh 客户端,支持搜索和选择服务器进行批量登录,支持记住密码。
截图
官网:https://hyper.is/
介绍
Hyper是一个跨平台的SSH连接工具,最大的特点就是软件的用户界面设计的非常的美观。而且可以完全免费的进行使用,并且支持各种类型的系统平台(包括 Windows、Mac OS 和 Debian、 Fedora)。
Hyper的目标是为所有使用枯燥乏味的命令行界面的用户提供可扩展且令人愉悦的SSH连接管理体验。并且可以为用户提供高稳定性、快速以及开发正确的API接口。
Hyper对DSA 和 RSA 公钥身份验证提供出色的支持以及全面设计的用户密钥对管理。此外还带有高级别的可编写脚本的命令行SFTP 客户端。
截图
官网:https://mremoteng.org/
Github:https://github.com/mRemoteNG/mRemoteNG
介绍
mRemoteNG是 SSH 客户端最好的开源 PuTTY 替代品之一,它是mRemote的一个分支,提供了广泛的远程连接功能。
该系统下的每个应用程序都具有多个焦点,mRemoteNG提供多选项卡和多协议功能。它支持以选项卡式界面为基础的多个远程会话。
主要特点:
官网:https://winscp.net/eng/index.php
介绍
WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。
截图
官网:https://sysprogs.com/SmarTTY/
介绍
SmarTTY是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。
SSH服务器每个连接支持最多10个子会话.SmarTTY在做得:没有多个窗口,不需要重新登录,仅打开一个新的标签页可以。
官网: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 客户端
主要特点:
官网:https://www.termius.com/
介绍
Terminals是另一个免费的开源 SSH 连接客户端,可以帮助你从 Windows 计算机远程登录到 Linux 服务器。支持 Telnet、RAS、VNC、RDP、SSH 在内的多种连接协议。此外还可以直接保存密码、远程服务器的登录ID等凭据,以便通过一键点击快速的连接到服务器进行管理。
Terminals还能够以全屏模式进行管理。还支持在使用时进行屏幕截图。软件重新启动后,可以快速打开已保存的连接。你甚至可以从其窗口打开自定义的应用程序。还提供了创建一组服务器的功能。可以为同一服务器轻松保存多个用户凭据。
官网: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密钥管理,以防止非托管公钥并强制实施最佳实践。
截图
官网:https://github.com/melbahja/goph
Github:https://github.com/melbahja/goph
介绍
这是一个基于Golang开发的轻量级SSH客户端程序。
主要功能特性包括:
官网:https://docs.ssh-mitm.at/
介绍
SSH-MITM服务器专为安全审计而设计,支持公钥认证、会话劫持和文件篡改等功能。需要注意的是,该工具基于Python语言开发,因此需要在主机设备上安装并配置好Python环境。
SSH-MITM能够支持密码和公钥身份验证,能够检测用户是否能够在远程服务器上使用公钥身份验证登录。允许SSH-MITM接受与目标服务器相同的密钥。如果无法进行公钥身份验证,则身份验证将会退到密码身份验证。
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 年后的工程师们,现在的你站在浪潮之巅,面对魔幻的互联网世界,很容易把一条河流看成整片大海。未来的读者已经知道了这段技术的发展历史,但难免会忽略一些细节。如果未来的工程师们真的创造出了时间旅行机器,可以让你回到现在。那么小编的创作就是你和当年工程师们的接头暗号,你能感知到他们在这个时代的键盘上留下的余温。
#文章首发挑战赛#
文件管理器中输入smb://ip/**共享文件夹名**,回车,输入共享机器的用户名和密码即可访问,如图:
注:不可直接输入smb://ip,会有报错提示,如图:
a、文件管理器中输入smb://ip,输入共享机器的用户名和密码,会访问到共享文件夹所在的目录(**这是区别Win7的地方**):
b、如若知道共享文件夹名,直接输入smb://ip/共享文件夹名,可访问所需的共享文件:
文件管理器中输入smb://ip或者smb://ip/共享文件夹名 都可以
注:区别在于输入用户名和密码,非登陆系统的密码,而是单独设置的共享密码
首先设置共享机器的共享密码,然后访问时输入该密码:
假定文件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命令是无法起作用的
由于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
*请认真填写需求信息,我们会在24小时内与您取得联系。