SSH 的 N 大黑科技玩法

在日常开发与运维工作中,SSH 是一款不可或缺的工具,几乎每一个开发者都用它来连接远程服务器。但 SSH 的能力绝不仅限于远程登录,它有很多令人惊叹的黑科技玩法,让你的开发效率成倍提升。今天,我们就来聊聊 SSH 的那些你可能不知道的玩法,让你从入门走向高阶。

1. SSH 隧道 - 打破内网屏障

SSH 隧道是开发者常用的技术,能够帮助我们实现内网穿透,访问一些处于防火墙后面的资源。利用 SSH 隧道可以将本地的某个端口映射到远程服务器的端口,从而绕过防火墙。例如:

ssh -L 8080:localhost:80 user@remote_server

上面的命令将本地 8080 端口与远程服务器的 80 端口连接在了一起。这样,你在浏览器中访问 http://localhost:8080,就等于访问了远程服务器的 80 端口。这种方式在本地开发调试、内网穿透中非常有用。

2. SSH 反向隧道 - 反向连接更方便

与普通的 SSH 隧道相反,SSH 反向隧道能够将远程服务器的端口映射到本地,用于远程访问位于内网的机器。假设你的本地计算机处于内网,而你想让远程服务器访问你的本地服务,可以使用如下命令:

ssh -R 8080:localhost:3000 user@remote_server

这样,远程服务器上的用户可以通过 localhost:8080 访问你本地的 3000 端口,非常方便进行远程调试或提供服务。

3. SSH 代理跳板 - 一站到底

很多企业网络架构复杂,需要通过跳板机(Bastion Host)才能访问目标服务器。每次登陆都需要先连接跳板机,再通过跳板机去访问目标服务器,非常繁琐。其实 SSH 可以通过配置 ~/.ssh/config 文件,轻松实现一站到底的功能:

Host target_serverHostName target_server_ipUser userProxyCommand ssh -W %h:%p jump_host_user@jump_host_ip

通过以上配置,你只需执行 ssh target_server,SSH 就会自动通过跳板机连接到目标服务器,省去了每次登录跳板机的步骤,提升了效率。

4. SSH 多路复用 - 减少连接时间

每次使用 SSH 连接远程服务器,都会经历认证与加密协商的过程,这会浪费不少时间。SSH 支持多路复用技术,能够通过一个已建立的 SSH 连接来复用多次会话,大幅减少连接时间。只需要在 ~/.ssh/config 中添加以下内容:

Host *ControlMaster autoControlPath ~/.ssh/sockets/%r@%h:%pControlPersist 10m

这样,所有对同一服务器的新 SSH 连接都将复用已经存在的连接,大幅提升多次操作的效率。

5. SSH 端口转发 - 灵活运用网络资源

SSH 的端口转发技术分为本地端口转发和远程端口转发。通过灵活的端口转发,开发者可以实现各种复杂网络环境中的资源访问。例如,你可以将一台处于防火墙后的数据库服务器端口转发到你本地,从而方便开发时直接访问数据。

ssh -L 3306:database_server:3306 user@remote_server

这样你可以在本地通过 localhost:3306 直接访问远程的数据库服务器,大大简化了调试过程。

6. SSHFS - 把远程文件挂载到本地

SSHFS(SSH File System)是一个通过 SSH 挂载远程文件系统的工具,它能让你像操作本地文件一样直接操作远程服务器上的文件。只需一行命令:

sshfs user@remote_server:/remote/directory /local/mountpoint

这样,你就可以在 /local/mountpoint 目录下看到远程服务器上的文件,进行编辑、拷贝、删除等操作,非常方便在本地 IDE 中编辑远程文件。

7. 动态端口转发 - 让 SSH 变身 SOCKS 代理

SSH 还可以充当 SOCKS 代理,通过动态端口转发实现安全上网。例如你想通过某台国外的服务器来访问网络,只需要执行以下命令:

ssh -D 1080 user@remote_server

然后在浏览器中配置 SOCKS5 代理指向 localhost:1080,所有的流量就会通过这台远程服务器中转,从而实现匿名、安全的访问。

结语

以上就是 SSH 的几大黑科技玩法,每一个都能帮助你大幅提升日常工作中的效率和便捷性。无论是打破内网屏障的隧道技术,还是减少重复登录的多路复用,每一个技巧都是 SSH 深厚功能的体现。

希望你能从这些技巧中找到适合自己的玩法,让 SSH 成为你工作中得力的工具。SSH 并不是只有登录远程服务器这一种用途,善用这些技巧,你会发现它的无限可能。

(本文介绍的 SSH 黑科技玩法均为实际开发中常用,建议读者结合自己的需求进行应用。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/456677.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AscendC算子开发】笔记1 算子开发哲学

重看这门课,有很多内容的认识更深了,做一些记录。 为什么不能将网络节点融合 这个问题关联到另一个问题:为什么我们需要激活函数? 使用线性的神经元堆叠得到的方程最后也是线性方程,无法表征非线性的信息&#xff0c…

微信网页授权回调地址放多个参数的方法

https://open.weixin.qq.com/connect/oauth2/authorize?appidAPPID&redirect_uriREDIRECT_URI&response_typecode&scopeSCOPE&stateSTATE#wechat_redirect 跳转后地址 redirect_uri/?codeCODE&stateSTATE。 redirect_uri如果不进行urlencode编码, 跳转后…

C++20中头文件syncstream的使用

<syncstream>是C20中新增加的头文件&#xff0c;提供了对同步输出流的支持&#xff0c;即在多个线程中可安全地进行输出操作&#xff0c;此头文件是Input/Output库的一部分。包括&#xff1a; 1.std::basic_syncbuf&#xff1a;是std::basic_streambuf的包装器(wrapper)&…

《在1688的数字海洋中,如何用API网罗一家店铺的所有商品?》

想象一下&#xff0c;你是一位船长&#xff0c;航行在1688这个电商的数字海洋上。你的任务是探索一家神秘的店铺岛屿&#xff0c;并且用你的API魔法网&#xff0c;网罗岛上所有的商品宝藏。不用担心&#xff0c;即使你不是海贼王&#xff0c;有了代码的力量&#xff0c;你也能成…

【数据结构初阶】二叉树---堆

二叉树-堆的实现 一、树的概念&#xff08;什么是树&#xff09;二、二叉树的概念及结构2.1 二叉树的概念2.2 二叉树的性质2.3 二叉树存储结构 三、二叉树的顺序结构3.1 堆的概念及结构3.2 堆的向下调整算法3.3堆的创建 四、堆的代码实现4.1 堆的初始化4.2 堆的销毁4.3 堆的插入…

ipguard与Ping32如何加密数据防止泄露?让企业信息更安全

在信息化时代&#xff0c;数据安全已成为企业运营的重中之重。数据泄露不仅会导致经济损失&#xff0c;还可能损害企业声誉。因此&#xff0c;选择合适的数据加密工具是保护企业敏感信息的关键。本文将对IPGuard与Ping32这两款加密软件进行探讨&#xff0c;了解它们如何有效加密…

SAP_SD模块-销售订单创建价格扩大10倍问题分析及后续订单价格批量更新问题处理

一、业务背景 我们公司的销售订单&#xff0c;是通过第三方销售管理平台创建好订单后&#xff0c;把表头和行项目数据&#xff0c;定时推送到SAP&#xff1b;SAP通过自定义表ZZT_ORDER_HEAD存放订单表头数据&#xff0c;通过ZZT_ORDER_DETAIL存放行项目数据&#xff1b;然后再用…

git安装-Tortoise git 安装汉化教程

1. 安装git 2. 安装git图形化工具Tortoise git 3. 汉化 Tortoise git 汉化安装包

证件照电子版怎么弄?不花钱制作方法快来学

想要制作免费照证件照&#xff1f;证件照在我们的日常生活中扮演着重要角色&#xff0c;无论是求职、求学还是办理各类证件&#xff0c;都少不了它的身影。 但是&#xff0c;去照相馆拍照不仅耗时&#xff0c;费用也不菲。那么&#xff0c;有没有可能不花一分钱就搞定证件照呢…

互联网系统的微观与宏观架构

互联网系统的架构设计&#xff0c;通常会根据项目的体量、业务场景以及技术需求被划分为微观架构&#xff08;Micro-Architecture&#xff09;和宏观架构&#xff08;Macro-Architecture&#xff09;。这两者的概念与职责既独立又相互关联。本文将通过一些系统案例&#xff0c;…

淘宝API的实战应用:数据驱动增长,实时监控商品信息是关键

数据驱动增长&#xff0c;实时监控商品信息是关键 —— 淘宝API的实战应用 在数字化时代&#xff0c;数据已经成为商业决策的核心。对于电商行业而言&#xff0c;获取准确、实时的数据是保持竞争力的关键。淘宝API接口作为连接淘宝电商平台与外部应用的桥梁&#xff0c;为电商商…

【论文+源码】基于spring boot的垃圾分类网站

创建一个基于Spring Boot的垃圾分类网站涉及多个步骤&#xff0c;包括环境搭建、项目创建、数据库设计、后端服务开发、前端页面设计等。下面我将引导您完成这个过程。 第一步&#xff1a;准备环境 确保您的开发环境中安装了以下工具&#xff1a; Java JDK 8 或更高版本Mav…

uv: 一个统一的Python包管理工具

uv是由Astral公司开发的一个极其快速的Python包管理器,完全用Rust编写。它最初在2月份发布,作为pip工作流的替代品。现在,uv已经扩展成为一个端到端的解决方案,可以管理Python项目、命令行工具、单文件脚本,甚至Python本身。可以说,uv就像是Python界的Cargo:一个快速、可靠、易…

Rust小练习,编写井字棋

画叉画圈的游戏通常指的是 井字棋&#xff08;Tic-Tac-Toe&#xff09;&#xff0c;是一个简单的两人游戏&#xff0c;规则如下&#xff1a; 游戏规则 棋盘&#xff1a;游戏在一个3x3的方格上进行。玩家&#xff1a;有两个玩家&#xff0c;一个用“X”表示&#xff0c;另一个…

Vivado自定义IP修改顶层后Port and Interface不更新解决方案

问题描述 在整个项目工程中&#xff0c;对自定义IP进行一个比较大的改动&#xff0c;新增了不少端口(这里具体的就是bram的读写端口)&#xff0c;修改是在block design中右击IP编辑在IP编辑工程中进行的。 在修改完所有代码后&#xff08;顶层新增了需要新加的输入输出端口&…

算法的学习笔记—平衡二叉树(牛客JZ79)

&#x1f600;前言 在数据结构中&#xff0c;二叉树是一种重要的树形结构。平衡二叉树是一种特殊的二叉树&#xff0c;其特性是任何节点的左右子树高度差的绝对值不超过1。本文将介绍如何判断一棵给定的二叉树是否为平衡二叉树&#xff0c;重点关注算法的时间复杂度和空间复杂度…

未来汽车驾驶还会有趣吗?车辆动力学系统简史

未来汽车驾驶还会有趣吗&#xff1f;车辆动力学系统简史 本篇文章来源&#xff1a;Schmidt, F., Knig, L. (2020). Will driving still be fun in the future? Vehicle dynamics systems through the ages. In: Pfeffer, P. (eds) 10th International Munich Chassis Symposiu…

sql-labs靶场第二十关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、寻找注入点 2、注入数据库 ①寻找注入方法 ②爆库&#xff0c;查看数据库名称 ③爆表&#xff0c;查看security库的所有表 ④爆列&#xff0c;查看users表的所有列 ⑤成功获取用户名…

文本预处理——构建词云

Python 词云或标签云是一种可视化技术&#xff0c;通常用于显示网站的标签或关键字。这些单个单词反映了网页的上下文&#xff0c;并聚集在词云中。云中的单词字体大小和颜色各不相同&#xff0c;表明其突出性。字体大小越大&#xff0c;相对于其他单词的重要性就越高。词云可以…

VUE中文本域默认展示最底部内容

文本域内容 <textarea ref"textareaRef" style"width: 100%; resize: none;" readonly v-model"errorLog" rows"15"></textarea> 样式展示 this.$nextTick(() > { // 使用$refs获取文本域的DOM元素 const textareaInfo…