windows, VSCode中SSH中文路径问题

windows, VSCode中SSH中文路径问题

简而言之

解决方法1:

  1. 又尝试了下,最简单直接的方法为,不使用windows自带的ssh,使用git中附带的ssh,路径为xxx\Git\usr\bin\ssh.exe,其中xxx为自己安装git对应的路径。此时不管在cmd中还是VSCode中都不会有中文路径的问题,注意保存path修改后还要重启cmd或vscode才生效。(下边为之前的解决方案,也不删除了)

解决方法2:

  1. 在windows系统中,git-bash.exe中使用ssh
  2. 在VSCode中,修改Remote-SSH插件中Remote.SSH: Path在这里插入图片描述
    即修改路径为git中的ssh。

问题描述

我的电脑系统为win10,默认的.ssh文件夹路径C:\Users\username\.ssh中,我的username为中文,导致在cmd中使用ssh会出现下述情况:
Could not create directory ‘C:\Users\\345\210\346\235\260/.ssh’.
提示信息
这样子仍然可以使用,但是每次都需要输入yes,并且无法免密码登录,让我很烦。网络上搜到的结果不多(中文路径的确问题很大hhh)。
在某个网页中查询发现(没记录下来,故没附上链接,有见到的人也可以贴一下),大意为ssh中关于中文路径的支持问题(使用powershell也有同样问题),而ssh会访问.ssh文件夹中的known_hosts文件来判断是否访问过,而且免密码登录需要用到的私钥也在.ssh文件夹中(这个方法有很多介绍了),因此中文路径这个问题难以避免。

解决方法1(简单方法)

在windows系统变量中,将xxx\Git\usr\bin路径加入到path变量中,并且位置要高于win10自带的ssh路径
在这里插入图片描述
或者直接将下边这个路径删掉也可以,这样子cmd终端与VSCode中默认使用的就是git中的ssh了,可以避免中文路径的问题。
注意保存path修改后还要重启cmd或vscode才生效!!!

再或者,不使用默认的ssh,使用指定路径的ssh。这样子每次都需要有点笨,而且没法解决vscode中的问题。

在这里插入图片描述

解决方法2

这个是之前的笨方法,留着当参考吧。

2.1 windows系统

这是之前查到的,在win10中使用ssh:
在git-bash.exe中使用ssh
这样子不会出现中文路径的问题,可以直接免密码登录了。

2.2 在vscode中使用Remote-SSH

在使用VSCode时,每次都需要确定host和输入密码,观察后发现VSCode会通过cmd调用ssh,不过看到可以指定ssh路径,因此进行修改即可:
在VSCode中,修改Remote-SSH插件中Remote.SSH: Path在这里插入图片描述

有什么问题欢迎指出讨论

### 配置 VSCode 使用 SSH 连接远程服务器 #### 安装 Remote-SSH 扩展 为了使 Visual Studio Code (VSCode) 支持通过 SSH 协议连接至远程主机,在 Windows 平台上需先安装名为 "Remote - SSH" 的官方插件[^4]。 ```json { // 在 Extensions 市场中搜索并安装此扩展名 "name": "ms-vscode-remote.remote-ssh" } ``` #### 设置本地环境变量与软件依赖项 确保本机已经正确设置了 OpenSSH Client 或者 PuTTY 等工具作为客户端来发起 SSH 请求。对于大多数现代版本的 Windows 10 和更高版本,默认情况下会预装 OpenSSH 组件,因此通常不需要额外下载其他应用程序[^1]。 #### 创建或编辑 `.ssh/config` 文件 创建一个位于用户目录下的隐藏文件夹 `.ssh/`, 如果该位置尚未存在的话;接着在此处新建文本文件命名为 `config`. 此配置文档用于定义目标机器的相关参数,例如 IP 地址、端口号以及用户名等信息[^3]. ```bash # .ssh/config 示例内容如下所示: Host myserveralias HostName your.server.ip.address User username_on_remote_machine Port 22 # 默认端口可省略不写 IdentityFile ~/.ssh/id_rsa # 私钥路径(如果适用) ``` #### 测试连通性和排除常见错误 完成以上准备工作后尝试建立新的终端窗口并通过命令行验证能否顺利登录远端设备。遇到诸如“过程试图写入的管道不存在”的报错提示时,则可能是由于防火墙设置或是网络状况不佳所引起的通信障碍问题[^2]. #### 实现无密码自动认证机制 为了让每次访问更加便捷高效,建议采用基于公私钥对的身份验证方式代替传统的交互式输入账号密码模式。具体做法是在本地生成一对密钥并将其中公开部分上传给服务提供商保存起来供后续校验使用.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值