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. ABP框架开发实例教程-生成框架代码

    ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称.ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB ...

  2. 解决BitBucket仓库较大拉取失败,使用SSH拉取

    HTTPS 拉取 如果使用的是https拉取,可使用以下命令尝试,如果还是失败,可使用 ssh 拉取 git clone --depth=1 xxxx.git --depth=1:拉取最近1次提交记录 ...

  3. Spring注解之参数校验@Validated和@Valid

    @Validated和@Valid的区别 Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范,是标准 JSR-303 的一个变 ...

  4. Peaks:每周至少要进行一次用户访谈?

    名字:Peaks 开发者 / 团队:Vogelhaus Apps GmbH 平台:iOS.watchOS 请简要介绍下这款产品 每个人生活的节奏都有一个内置的生理时钟,这就是所谓的昼夜节律.它不仅控制 ...

  5. SafeLine Web 安全网关保护你的网站不受黑客攻击

    SafeLine 简介 今天,推荐给大家的是一款在社区广受好评的网站防护工具 -- SafeLine Web 安全网关. 简单来说这是一个自带安全 buf 的 Nginx,它基于业界领先的语义分析检测 ...

  6. 【原创软件】第7期:文件夹生成器V1.0-按照列表批量生成文件夹,简单小巧

    一.背景 因为工作需要,需要批量创建文件夹.为了省去人工创建时间,使用aardio制作了一个软件. 二.功能演示 三.下载地址  https://www.123pan.com/s/9Rn9-1xppH ...

  7. 解决方案 | Python中安装pix2tex latex ocr出现报错Cannot mix incompatible Qt library (6.6.2) with this library (6.7.2)

    一.问题 Python中安装pix2tex latex ocr出现报错Cannot mix incompatible Qt library (6.6.2) with this library (6.7 ...

  8. 学习笔记--Java 运算符

    Java 运算符 算术运算符 关系运算符 逻辑运算符 位运算[略] 赋值运算符 字符串连接符 三元运算符 Java 运算符 按照功能划分: 功能 运算符 算术运算符 +.-.*./.++.--.% 关 ...

  9. Django 跨域访问POST请求需预先发送option请求问题处理方案

    跨域访问POST请求需预先发送option请求问题处理方案   By:授客 QQ:103355122 实践环境 Win 10 Python 3.5.4 Django-2.0.13.tar.gz 官方下 ...

  10. Django Template层之自定义tag

    Django Template层之自定义tag by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 实践 步骤1 应用根目录下,新建templatetags包目录(注意 ...