windows安装opensssh报错: no such file /home/.../.ssh 解决方案

报错详细信息

add know hosts... no such file or directory: /home/\u82\u22/.ssh
  • 原因分析
    这是因为openssh不是直接读取的HOME环境变量,而是使用/home/{USERNAME}的形式去找用户根目录。
    但msys2没有创建该目录,因为msys2将HOME目录定义为/c/Users/{name}/

具体问题分析:Creating batch script to start Git-SDK, is it possible to specify a specific $HOME directory?

  • 解决方案1
    修改openssh寻找根目录的地址,指向HOME环境变量。具体操作是编辑{openssh安装目录}/etc/nsswitch.conf文件中的db_home一行,如下。
# ...
# 原来是这样的
#db_home: cygwin desc
# 修改成这样
db_home: /%H
#...

# End /etc/nsswitch.conf

  • 解决方案2
    创建该目录,并创建软链接指向你的win用户目录。
mkdir -p /home/${USERNAME}
ln -s /home/${USERNAME} {你的win用户目录:/c/Users/xxx/}

笔者使用的是第一种方案,第二种方案按理说也是可以实现的,但没有实践过,仅供参考。

posted @ 2023-04-23 10:43  小小记录本  阅读(217)  评论(0编辑  收藏  举报