Vscode 远程连接虚拟机 ssh连接超时,总是提示ssh连接超时 有没有会的 帮助一下
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在
VSCode
中设置SSH远程连接超时的时间可以通过以下几个步骤完成:-
安装相应的SSH插件:
- 首先,在VSCode的插件列表中找到并搜索 "Git Bash Terminal (SSH)" 或 "Git Bash Shell (SSH)" 插件。
- 在搜索结果页面中点击 "+" 或 "Install now" 来下载并安装此插件。
-
更新VSCode版本至最新版本:
- 更新VSCode以确保其具有最新的功能和修复了可能影响远程连接的错误。右键单击VSCode图标,选择"Update VS Code" 并按照提示进行操作。等待更新完成后重启VSCode。
-
设置SSH配置:
- 创建一个新的
.ssh/config
文件位于~/.ssh/config
目录下(如果你没有这个目录,可以创建一个新文件并在命令行中执行以下命令)。
# ~/.ssh/config Host * User <username> IdentityFile ~/.ssh/id_rsa Port 22 Host <hostname> HostName <hostname-or-ip> Port 22 Host localhost HostName localhost Port 22 Keyring ~/.ssh/id_rsa
- 在
Host
对象中添加IdentityFile
设置为要使用的SSH密钥文件路径。这通常是保存SSH密钥文件的本地位置(例如,根目录~/.ssh/id_rsa
),也可以指定主机名或IP地址作为主机名。 - 在
Port
设置为你想要的SSH默认端口。通常,连接到Linux主机后端服务的端口是22。
- 创建一个新的
-
检查SSH配置:
- 点击左上角的 "Preferences" 菜单,然后导航到 "Editor" 部分。在那里,您应该能看到SSH配置窗口。
- 右键点击"SSH"标签并选择"Set Configuration..."。
- 在新的弹出窗口中,取消勾选 "Use SSH Authentication",然后在 "Authentication" 标签下,点击 "Add or Remove Users and Groups"。
- 在 "Users and Groups" 对话框中,点击 "Add" 添加新用户,输入用户名并设置密码。将新用户及其密码设置为您的SSH公钥。
- 在 "SSH密钥" 对话框中,点击 "Add" 添加新的SSH密钥,包含公钥信息(包含公钥文件路径)。在这个例子中,我们将SSH公钥存储在一个名为
id_rsa.pub
的文件中。
-
测试SSH配置:
- 使用
ssh
命令连接到远程主机。例如,使用以下命令在Windows/Linux系统中登录SSH服务器:
ssh username@<hostname>
- 如果一切正常,你应该看到一条类似于以下的消息:
Connecting to remote server... Local machine is connected to the remote server via SSH. ... id_rsa public key detected for user username on remote server. ...
您可以看到 "id_rsa public key detected for user username on remote server." 表明已成功添加SSH公钥到远程主机。
- 使用
-
调整SSH配置:
-
定义一个全局环境变量
SSH_KEYFILE
和SSH_PORT
,其中SSH_KEYFILE
应该是你刚刚添加的SSH密钥文件路径,例如${workspaceFolder}/.ssh/id_rsa.pub
。在System Settings > Preferences > editor
,在右侧窗口中找到并打开 "SSH Configuration" 对话框。 -
在这里,您可以查看当前SSH配置,并根据需要进行更改,包括以下几点:
-
修改
User
属性:将特定的SSH用户名替换为您刚刚添加的用户,如下所示:User: <username> IdentityFile: ${workspaceFolder}/.ssh/id_rsa.pub Port: 22
-
在
Keyring
属性中,如果您在步骤4中设置了多个SSH密钥,您可以在这里将它们逐一删除,只保留其中一个。对于已添加的SSH公钥,可以在此字段中删除KeyPair
(即SSH密钥对)。 -
删除
Allowpty
配置项,因为sshd
防火墙通常不会允许远程用户通过穿孔板设备运行SSH客户端。如需继续远程连接,应启用Allowpty
配置项,如下所示:Allowpty: true
-
-
应用上述更改:
- 单击 "Apply" 或 "OK" 关闭
SSH Configuration
对话框,然后重新打开它以验证更改是否生效。 - 现在,使用
ssh
命令连接到远程主机,确认是否成功。例如,使用以下命令登录SSH服务器:
ssh username@<hostname>
- 如果一切正常,你应该看到一条类似以下的消息:
Connecting to remote server... Local machine is connected to the remote server via SSH. ... [12:21:38.232] Using authentication type publickey. You have successfully authenticated using your RSA private key, identity file (/root/.ssh/id_rsa)
如果没有看到这条消息,检查SSH配置是否正确,特别是密钥信息设置是否正确,以及防火墙设置是否允许SSH客户端穿透。
- 单击 "Apply" 或 "OK" 关闭
-
清除缓存和重启VSCode:
-
删除当前工作空间中的所有
~/.ssh
文件(如果有的话),以防文件覆盖问题:rm -rf ~/.ssh/*
-
启动VSCode并再次尝试远程连接。首先,打开
VSCode
,然后按快捷键F2
导航到 "Editor" 部分。在左侧菜单栏中,选择 "Window" -> "Preferences"。在右侧窗口中,切换到 "General" 或者 "Remote Development" 分类。取消勾选 "Use SSH Authentication" 并重新加载偏好设置。 -
在
SSH Configuration
对话框中,确认网络选项已启用于连接远程主机。如果有多个SSH密钥,您可以在其中删除已禁用的密钥。
-
-
持续监控SSH状态:
- 预防SSH连接超时的问题,可以考虑以下策略:
- 设置定时任务(如每天早上/晚上)自动启动VSCode连接远程主机,而不是每次使用时手动连接。
- 对于长时间未操作的文件,尝试断开连接并重试连接。在断开连接后,设置一个过期时间(例如30分钟),以防止连接被频繁中断。
- 将本地控制台连接线缆远离计算机或移动到不易受SSH干扰的位置,减少干扰。
- 关闭并重新启动防火墙和NAT防火墙,这些功能可能会阻止某些远程连接(除非您信任本地源的IP地址范围)。
- 预防SSH连接超时的问题,可以考虑以下策略:
通过遵循上述步骤,您的
VSCode
将能够有效地解决SSH远程连接超时的问题。当然,具体实践可能因配置差异而异,以上示例是一个基本指南,建议根据实际情况进行适当调整。解决 无用评论 打赏 举报 编辑记录-
悬赏问题
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画
- ¥15 hadoop中启动hive报错如下怎么解决