Clion+Win10_WSL

问题

因故需要在win系统上调试分析一个C++问题,在使用CLion配置Toolchains选择WSL时遇到了困扰,虽然使用password和Key-Pair可以建立连接,但想用OpenSSH config and authentication agent却不得其法。

clion toolchain ssh cofig

在排除了Win10自带的openssh客户端、mingw openssh客户端、git-for-windows捆绑的openssh之后,还是翻了下jar包。

解决方法

两种方法

  1. 在SystemProperties.getUserHome()/.ssh/config文件中,将密钥文件写上
    • 这个文件可以从其他系统的ssh_config复制过来,把Host和IdentityFile取消注释使其成效
  2. 使用Pageant开启ssh-agent服务,这个程序可以在putty中找到
    • 注意Add key时,可能私钥要从 OpenSSH private key 格式转成 PuTTY private key 格式,可以用PUTTYGEN.exe搞定

历程

根据 com.intellij.ssh.impl.SshConnection
public final fun getSshSession(sessionConfig: com.intellij.ssh.SessionConfig): com.intellij.ssh.SshSession { /* compiled code */ }
方法 ,可以得知Clion Toolchains WSL建立ssh链接的时候,使用了jsch,并使用IdentityRepositoryFactory创建localIdentityRepositoryRemoteIdentityRepository,在com.intellij.ssh.SshConnectionService.createRemoteIdentityRepository()中,对windows选择使用PageantConnector

留下评论

电子邮件地址不会被公开。 必填项已用*标注