我正在使用 OpenSSH 版本 7.1p2(在 mobaXterm 中)
当连接到远程 SSH 服务器(基于 OpenSSH)时,我有时想禁用通道多路复用。
我在文档中找到了发送全局请求的选项“[电子邮件保护]“ 为了这:
在 openssh.com 全局请求扩展中添加了 no-more-sessions,当客户端知道它将永远不会请求另一个会话时(即当会话多路复用被禁用时),该扩展从 ssh(1) 发送到 sshd(8)。
但是,我在手册中没有找到命令行选项。
答案1
META:虽然这是安全软件 (OpenSSH) 的一个功能,但它显然不是一个安全功能,因此它的时事性尚不确定。它可能更适合超级用户或 serverfault。但我将把这个问题留给选民。
无论如何,代码块ssh.c
是:
/* If we don't expect to open a new session, then disallow it */
if (options.control_master == SSHCTL_MASTER_NO &&
(datafellows & SSH_NEW_OPENSSH)) {
debug("Requesting [email protected]");
packet_start(SSH2_MSG_GLOBAL_REQUEST);
packet_put_cstring("[email protected]");
packet_put_char(0);
packet_send();
}
如 ChangeLog 中所述,如果对等端是足够新的版本并且“会话多路复用已禁用”(),则会发送此消息,这是默认值,并且仅当您指定(最多两次)或使用或配置文件将(任何情况)设置为除或之外的值时options.control_master == SSHCTL_MASTER_NO
才会更改。因此您应该指定任何选项-M
-o
controlmaster
false
no
以外 -M
或者-o controlmaster
。
请注意,即使对等端较旧,我们无法实际发送选项,默认情况下客户端仍然不会实际执行会话多路复用(除非被黑客入侵)。但请记住,也使用底层通道多路复用的“转发”(通常称为“隧道”)仍可按照其选项配置进行没有任何会话多路复用。