使用 SSH 转义代码来控制连接
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 转义代码来控制连接的更多相关文章
- PHP控制连接打印机
一.需求 使用PHP控制连接打印机 现场实时连续打印动态数据 二.配置 php运行环境正确安装(Apache|Nginx + PHP) 下载与php版本对应的php_printer.dll扩展 扩展文 ...
- Mac下git通过SSH进行免密码安全连接github
Git——The stupid content tracker(傻瓜内容跟踪器) Git是Linux的缔造者Linus Torvalds为了帮助管理Linux内核源码而开发的一款免费.开源的分布式版本 ...
- 通过 SSH 隧道方式图形化连接 AIX 服务器
跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...
- javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)
javax.transaction.xa.XAException: java.sql.SQLException:无法创建 XA 控制连接.错误: 未能找到存储过程'master..xp_sqljdbc ...
- 使用XML布局文件和Java代码混合控制UI界面
完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...
- 在代码中控制UI界面
虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...
- mysql ssh 跳板机(堡垒机???)连接服务器
跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳 ...
- ssh方式与服务器建立连接
package com.ustcinfo.cinas.pmng.util; import java.io.BufferedReader; import java.io.InputStream; imp ...
- SSH Secure File Transfer Client连接远程设备报“algorithm negotiation failed”错的解决方法
SSH Secure File Transfer Client连接远程设备报"algorithm negotiation failed"错的解决方法 ssh client 报 al ...
- Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black
Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black 使用SSH通过USB和因特网连接Beaglebone Black SSH是Secure Shell ...
随机推荐
- 『vulnhub系列』Hack Me Please-1
『vulnhub系列』Hack Me Please-1 下载地址: https://www.vulnhub.com/entry/hack-me-please-1,731/ 信息搜集: 使用nmap进行 ...
- Java中的栈、堆和常量池
Java程序是运行在JVM(Java虚拟机)上的,因此Java的内存分配是在JVM中进行的,JVM是内存分配的基础和前提. Java程序的运行会涉及以下的内存区域: 寄存器:JVM内部虚拟寄存器,存取 ...
- 可能是全网最适合入门的面向对象编程教程:Python实现-嵌入式爱好者必看!
前言 对于嵌入式入门的同学来说,往往会遇到设备端处理能力不足.在面对大规模计算情况下需要借助上位机完成进一步的数据处理的情况.此时,Python 语言因其简单易用的特点和丰富多样的库成为了我们做上位机 ...
- 解决方案 | pywintypes.com_error: (-2147418111, '被呼叫方拒绝接收呼叫。', None, None)
解决方案:加一个time.sleep(1)即可
- UE 实现鼠标点选模型
楔子 在孪生的场景中,点击三维对象是常用的操作.比如点击模型显示相关属性和图片,点击摄像头模型播放视频,点击楼宇展开楼层等等. 因此点选模型是属于数字孪生最必要的基础能力. 准备知识 UE蓝图介绍 本 ...
- oeasy教您玩转vim - 12 - # 词头词尾
词头词尾 回忆上节课内容 我们这次学了向前一个单词 w 意思是 word 还学习了向后一个单词 b 意思是 backward 这俩命令都落在单词的第一个字母 还有什么好玩的命令吗? 动手练习 我们可以 ...
- 2023 NOIP 游记
\(\text{Day -INF}\) 提高 \(135\) 卡线进 \(\text{NOIP}\). 集训两天成绩:\(50 \to 135\). \(\text{Day 1}\) 开赛 \(13\ ...
- 个人使用 sudo 方法
sudo 作用:允许 系统管理员 授予某些用户或用户组以 其他用户身份 运行某些或所有命令的权限 su 用于变更为其他使用者的身份的命令,一般需要键入该使用者的密码 sudo 则是对 su 使用的简化 ...
- 项目中的坑记录~v-if和v-show的坑
有个功能是这样的,点击获取验证码,获取验证码之后将输入框禁用,进行倒计时11秒. 问题:第一次的倒计时是从6开始的, 之后的倒计时都是从9开始倒计,没有从11开始 解决:主要是用了v-show.倒计时 ...
- odoo 开发入门教程系列-一个新应用
一个新应用 房地产广告模块 假设需要开发一个房地产模块,该模块覆盖未包含在标准模块集中特定业务领域. 以下为包含一些广告的主列表视图 form视图顶层区域概括了房产的重要信息,比如name,Prope ...