Windows 10 全新的 Powershell 内置了 ssh.exe 因此可以直接连接远程服务器,在 Windows Terminal 中连接 SSH 中若一段时间没有操作会导致连接断开,终端卡死。
引子
常见的终端工具(比如:Xshell)等都会内置 keepalive 功能,自动会发送心跳包来保持连接,但是 Windows Terminal 没有自带此功能。
处方
在用户家目录下创建 .ssh
文件夹,或者可以尝试连接 SSH 随意一个服务器即可自动创建此文件夹。
在其中创建配置文件 config
,写入以下两行。
Host *
ServerAliveInterval 40
建议使用 Visual Studio Code 等软件写入,写入后效果如下。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users\Kane> cat .\.ssh\config
Host *
ServerAliveInterval 40
修改完毕后连接 SSH 后静置一段时间即可测试是否生效。
附录
参考链接
*How do I keep SSH connection alive on Windows 10? - stackoverflow
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2020-12-12 00:00 AM
添加config文件后,terminal ssh连接时会显示错误
Bad owner or permissions on C:\Users\25927/.ssh/config
这怎么办
刚看了一下,和权限无关,应该是你的文件编码有问题,可以尝试用 Visual Studio Code 编译一个新文件,编码用 UTF-8 ,删掉之前的文件,保存一下试试。
嗯,我去试试,谢谢!
文件权限需要为 600 ,可以使用命令 chmod 600 .ssh/config ,如果不清楚当前权限可以用 ls -lh 查看