_评论由:mfikes_制作
如果尚未捕获,则还有一个理由放弃JGit+JSch:JSch不能读取新的OpenSSH密钥格式,默认情况下在macOS上使用。
以下是一个例子
$ ssh-keygen -f /tmp/foo
这创建了一个带标题的密钥
-----BEGIN OPENSSH PRIVATE KEY-----
如果您做的是
$ ssh-keygen -m PEM -f /tmp/bar
那么您将得到一个带常规标题(和密钥格式)的密钥
-----BEGIN RSA PRIVATE KEY-----
为了说明最新JSch不能读取此新密钥类型,请注意尝试读取{{"/tmp/foo"}}时出现的{{invalid privatekey}}错误
$ clj -Sdeps '{:deps {com.jcraft/jsch {:mvn/version "0.1.55"}}}'
Clojure 1.10.0
user=> (import (com.jcraft.jsch JSch KeyPair))
com.jcraft.jsch.KeyPair
用户=>(KeyPair加载(JSch)"/tmp/foo")
执行出错(JSchException),在com.jcraft.jsch.KeyPair加载(KeyPair.java:664)。
无效的私钥:[B@485e36bc
用户=>(KeyPair加载(JSch)"/tmp/bar")
#对象[com.jcraft.jsch.KeyPairRSA 0x38f116f6 "com.jcraft.jsch.KeyPairRSA@38f116f6"]