OpenSSH 最常被忽视的一个非常有用的功能是能够从连接内部控制会话的某些方面。通过使用 SSH 转义代码,我们能够在会话内部与本地 SSH 软件进行交互。

强制从客户端断开连接(如何退出卡住或冻结的会话)

这些命令可以在 SSH 会话中以 ~ 控制字符开头执行。只有在换行后第一次键入时才会解释控制命令,因此在使用之前始终按 ENTER 键一两次。

我们可以从客户端发起断开连接。SSH 连接通常由服务器关闭,但如果服务器遇到问题或连接已中断,则可能会出现问题。通过使用客户端断开,可以从客户端清洁地关闭连接。

要从客户端关闭连接,请使用控制字符 ~,后跟一个句点 .。如果您的连接出现问题,您可能会发现自己处于似乎被卡住的终端会话中。尽管缺乏反馈,仍需输入命令以执行客户端断开连接:

[ENTER]
~.

连接应立即关闭,将您带回本地 shell 会话。

将一个 SSH 会话放入后台

按下控制字符 ~,然后执行将任务放到后台的常规键盘快捷键 Ctrl Z

[ENTER]
~[CTRL-z]

这将把连接放到后台,将您返回到本地 shell 会话。要返回到 SSH 会话,您可以使用传统的作业控制机制。

您可以通过输入 fg 来立即重新激活您最近的后台任务:

fg

如果您有多个后台任务,您可以通过输入以下命令来查看可用的作业:

$ jobs
[1]+ Stopped ssh username@some_host
[2] Stopped ssh username@another_host

您可以通过使用第一列中的索引和百分号将任何任务带到前台:

fg %2

更改现有 SSH 连接上的端口转发选项

用户可以在连接已经建立之后更改端口转发配置。这允许您即时创建或拆除端口转发规则。

这些功能是 SSH 命令行界面的一部分,可以在会话期间通过使用控制字符 ~C 来访问:

[ENTER]
~C
ssh>

您将获得一个 SSH 命令提示符,其中只有非常有限的一组有效命令。要查看可用选项,您可以从此提示符中键入 -h。如果没有返回任何内容,您可能需要使用 ~v 几次来增加 SSH 输出的详细程度:

[ENTER]
~v
~v
~v
~C
-h
Commands:
-L[bind_address:]port:host:hostport Request local forward
-R[bind_address:]port:host:hostport Request remote forward
-D[bind_address:]port Request dynamic forward
-KL[bind_address:]port Cancel local forward
-KR[bind_address:]port Cancel remote forward
-KD[bind_address:]port Cancel dynamic forward

正如您所看到的,您可以轻松地使用适当的选项来实现任何转发选项(有关更多信息,请参阅转发部分)。您还可以使用与转发类型字母前的 K 指定的 kill 命令来销毁隧道。例如,要销毁本地转发 -L,您可以使用 -KL 命令。您只需要为此提供端口。

因此,要设置本地端口转发,您可以输入:

[ENTER]
~C
-L 8888:127.0.0.1:80

您本地计算机上的端口 8888 现在将能够与您正在连接的主机上的 Web 服务器进行通信。完成后,您可以通过输入以下内容来关闭该转发:

[ENTER]
~C
-KL 8888

参考:使用 SSH 转义代码来控制连接

使用 SSH 转义代码来控制连接的更多相关文章

  1. PHP控制连接打印机

    一.需求 使用PHP控制连接打印机 现场实时连续打印动态数据 二.配置 php运行环境正确安装(Apache|Nginx + PHP) 下载与php版本对应的php_printer.dll扩展 扩展文 ...

  2. Mac下git通过SSH进行免密码安全连接github

    Git——The stupid content tracker(傻瓜内容跟踪器) Git是Linux的缔造者Linus Torvalds为了帮助管理Linux内核源码而开发的一款免费.开源的分布式版本 ...

  3. 通过 SSH 隧道方式图形化连接 AIX 服务器

    跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...

  4. javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)

    javax.transaction.xa.XAException: java.sql.SQLException:无法创建 XA 控制连接.错误: 未能找到存储过程'master..xp_sqljdbc ...

  5. 使用XML布局文件和Java代码混合控制UI界面

    完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...

  6. 在代码中控制UI界面

    虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...

  7. mysql ssh 跳板机(堡垒机???)连接服务器

    跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳 ...

  8. ssh方式与服务器建立连接

    package com.ustcinfo.cinas.pmng.util; import java.io.BufferedReader; import java.io.InputStream; imp ...

  9. SSH Secure File Transfer Client连接远程设备报“algorithm negotiation failed”错的解决方法

    SSH Secure File Transfer Client连接远程设备报"algorithm negotiation failed"错的解决方法 ssh client 报 al ...

  10. Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black

    Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black 使用SSH通过USB和因特网连接Beaglebone Black SSH是Secure Shell ...

随机推荐

  1. 计算订单签收率的sql查询思路与过程(涉及百分比和四舍五入)

    领导提出一个签收率需求,想要通过数据库达到excel中表现的形式,提高计算速度和工作效率, 如下形式: 数据库中表数据结构: 部分数据如下: sql语句思路如下: -- 1.已签收:以物流反馈管道,状 ...

  2. 单qubit量子门

    量子编程的基本单元就是量子门.量子编程有点像传统的电路设计,一个量子程序可以被写成量子门序列. 图中有一些符合,比如H门.X门.Z门.测量等,我们都会接触到. 传统计算机程序的输入和输出可以不一样,但 ...

  3. 韦东山freeRTOS系列教程之【第十章】软件定时器(software timer)

    目录 系列教程总目录 概述 10.1 软件定时器的特性 10.2 软件定时器的上下文 10.2.1 守护任务 10.2.2 守护任务的调度 10.2.3 回调函数 10.3 软件定时器的函数 10.3 ...

  4. 阿里面试:说说@Async实现原理?

    @Async 是 Spring 3.0 提供的一个注解,用于标识某类(下的公共方法)或某方法会执行异步调用. 接下来,我们来看下 @Async 的基本使用和实现原理. 1.基本使用 @Async 基本 ...

  5. HIVE从入门到精通------(1)hive的基本操作

    1.开启hive 1.首先在master的/usr/local/soft/下启动hadoop: master : start-all.sh start-all.sh 2.在另一个master(2)上监 ...

  6. CF414B

    这道题dp状态表示需要一点思维,而且会卡到时间复杂度 之前题主用的是试除法,时间复杂度为n^2.5,然后被卡了,但是换一种写法就是对的 #include <iostream> #inclu ...

  7. Memcache 与 Memcached 的区别

    Memcached 从0.2.0开始,要求PHP版本>=5.2.0,Memcache 要求PHP版本>=4.3. Memcached 最后发布时间为2018-12-24,Memcache ...

  8. 高程读后感(四)— 关于BOM本人容易忽略的知识点总结

    目录 window对象 window对象上属性及方法 超时调用setTimeout和间歇调用setInterval BOM location对象及其位置操作 history对象 window对象 wi ...

  9. P10245 Swimming Pool题解

    P10245 Swimming Pool 题意 给你四条边 \(abcd\),求这四条边是否可以组成梯形. 思路 这显然是一道简单的普通数学题. 判断是否能构成梯形只需看四条边是否能满足,上底减下底的 ...

  10. RDD | 算子 | 持久化

    分布式集合对象上的API称之为算子 算子分为两类: transformation算子:指返回值仍然是rdd,类似于stream里的中间流 这类算子与中间流相同,是懒加载的 action算子:返回值不是 ...