Ssh 如何为Jenkins CLI获取正确格式的密钥文件?

Ssh 如何为Jenkins CLI获取正确格式的密钥文件?,ssh,jenkins,ssh-keys,openssh,jenkins-cli,Ssh,Jenkins,Ssh Keys,Openssh,Jenkins Cli,因此,我正在与Jenkins合作,我需要使用Jenkins CLI,但我无法确定身份验证 我在这里遵循了他们相当简短的描述:这说明我需要将.ppk文件从Putty转换为openssh格式。他们将您链接到这里的这篇文章,我按照这些说明尝试使用它生成的文件,但最终得到的文件只有一行,如下所示: ssh-rsa [KEY] 当我将此文件与Jenkins CLI一起使用时,会出现以下错误: Exception in thread "main" java.io.IOException: Invalid

因此,我正在与Jenkins合作,我需要使用Jenkins CLI,但我无法确定身份验证

我在这里遵循了他们相当简短的描述:这说明我需要将.ppk文件从Putty转换为openssh格式。他们将您链接到这里的这篇文章,我按照这些说明尝试使用它生成的文件,但最终得到的文件只有一行,如下所示:

ssh-rsa [KEY]
当我将此文件与Jenkins CLI一起使用时,会出现以下错误:

Exception in thread "main" java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing
at com.trilead.ssh2.crypto.PEMDecoder.parsePEM(PEMDecoder.java:138)
at com.trilead.ssh2.crypto.PEMDecoder.decode(PEMDecoder.java:313)
at hudson.cli.PrivateKeyProvider.loadKey(PrivateKeyProvider.java:143)
at hudson.cli.PrivateKeyProvider.loadKey(PrivateKeyProvider.java:126)
at hudson.cli.PrivateKeyProvider.readFrom(PrivateKeyProvider.java:107)
at hudson.cli.CLI._main(CLI.java:440)
at hudson.cli.CLI.main(CLI.java:387)

我真的对ssh密钥一点也不熟悉,并且已经搜索了一段时间,但运气不佳。有人能告诉我如何将.ppk文件转换为正确的格式以与Jenkins CLI一起使用吗?谢谢

您必须在计算机上生成一个公共SSH密钥,并在Jenkins服务器上声明此SSH密钥

要在您的计算机上生成公钥(无密码短语):

公钥的默认位置是:

/Users/your.user/.ssh/id_rsa.pub
将您的公共SSH密钥(SSH rsa XXXXXXXX)复制到您的。email@domain.com)

接下来,进入Jenkins服务器并编辑Jenkins用户信息(通过右上角,单击用户名)

转到“SSH公钥”部分并粘贴公钥

您应该能够使用CLI访问Jenkins服务器

我已经在我的Jenkins服务器上测试了这个配置,它可以正常工作

brunolavit@MBP ~/Downloads$ java -jar jenkins-cli.jar -s http://myjenkinsserver.mydomain.com:8080/ version
1.577

这应该行得通,但不行。错误仍然发生
brunolavit@MBP ~/Downloads$ java -jar jenkins-cli.jar -s http://myjenkinsserver.mydomain.com:8080/ version
1.577