如何在 Linux 中创建用于 Github 的 Jenkins SSH 密钥?

Posted

技术标签:

【中文标题】如何在 Linux 中创建用于 Github 的 Jenkins SSH 密钥?【英文标题】:How to create Jenkins SSH key in Linux for use with Github? 【发布时间】:2020-02-24 21:59:44 【问题描述】:

目前,我正在尝试配置一个 SSH 密钥,用于将 Github 存储库克隆到 Jenkins 管道中。当我以 Jenkins 用户身份登录我的 Linux 服务器并尝试创建 SSH 密钥对时,我得到以下输出:

-bash-4.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Saving key "/var/lib/jenkins/.ssh/id_rsa" failed: Permission denied

我是否需要提升权限才能创建这些密钥?谢谢。

【问题讨论】:

【参考方案1】:

想通了。运行 ssh-keygen 命令时,它喜欢自己创建 .ssh 目录。我提前创建了它,这显然造成了某种权限问题。

所以在未来:如果您曾经创建这些密钥并遇到权限错误,请允许该命令创建 .ssh 目录以避免任何问题。谢谢。

【讨论】:

只是为了澄清:如果 ~/.ssh 目录已经存在,那么你需要 rm -rf .ssh FROM INSIDE /var/lib/jenkins/ 然后你就可以执行 ssh -keygen 和 ENTER 在所有提示符处。

以上是关于如何在 Linux 中创建用于 Github 的 Jenkins SSH 密钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 github API 在 github 中创建存储库?

在 Github Actions 中创建动态密钥名称

如何在 GitHub 中创建标签而不创建发布?

如何在linux中创建虚拟环境

如何在linux中创建虚拟环境

如何在linux中创建虚拟环境