SSH会话粘贴内容重复及按键异常问题求助
Hey,我完全懂这种烦躁的感觉——就像你说的,本来想执行cp file.txt directory/,结果手快变成cp file.txt directory/directory/,甚至连回车都被吃掉,尤其是系统跑虚拟机或Docker卡的时候,情况还会更糟,简直让人崩溃!根据你描述的情况,尤其是高负载下更严重的表现,大概率是终端的粘贴速度和按键输入的时序冲突,或者是客户端的粘贴配置没调好,给你几个亲测有效的解决办法:
调整SSH客户端的粘贴延迟
很多终端工具默认是瞬间完成粘贴,这种情况下快速按键很容易和粘贴的模拟输入撞车。比如在PuTTY里,你可以进入Window > Selection设置页,找到与粘贴相关的选项,把粘贴时的按键模拟速度调低(比如设置成20-50毫秒的间隔);MobaXterm也能在会话的Terminal设置里找到粘贴延迟的配置,给个小缓冲就能让终端分清手动输入和粘贴的内容。改用终端专属的粘贴快捷键
别再用系统级的Shift+Insert了,试试客户端自带的粘贴组合键:PuTTY和MobaXterm都支持Ctrl+Shift+V,这个快捷键是终端专门处理粘贴的,不会和手动按键的输入队列混在一起,稳定性高很多。关闭快速编辑模式
Windows下的SSH客户端常默认开启“快速编辑模式”,这个模式在系统负载高时容易导致输入队列混乱。比如PuTTY里去Window > Behavior,把“Quick Edit Mode”的勾选去掉;MobaXterm也能在设置里找到类似的选项禁用掉,让终端处理输入时更有序。高负载时放慢操作节奏(应急方案)
如果系统卡得厉害,暂时没调设置的话,就别手快了:先粘贴内容,等内容完全显示在终端里,再按后续的按键(比如回车)。或者先把内容粘贴到本地记事本确认,再复制到终端,虽然麻烦点,但能避免重复粘贴的坑。
另外,你说负载高时问题更严重,本质是系统繁忙时,终端处理输入的速度跟不上,手动按键和粘贴的模拟按键挤在输入队列里,系统来不及区分就重复执行了粘贴操作。上面的办法都是从“让终端能清晰区分手动输入和粘贴输入”入手的,应该能缓解大部分问题。
备注:内容来源于stack exchange,提问作者Ness

