windows, VSCode中SSH中文路径问题
简而言之
解决方法1:
- 又尝试了下,最简单直接的方法为,不使用windows自带的ssh,使用git中附带的ssh,路径为
xxx\Git\usr\bin\ssh.exe
,其中xxx为自己安装git对应的路径。此时不管在cmd中还是VSCode中都不会有中文路径的问题,注意保存path修改后还要重启cmd或vscode才生效。(下边为之前的解决方案,也不删除了)
解决方法2:
- 在windows系统中,在
git-bash.exe
中使用ssh - 在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
:
有什么问题欢迎指出讨论