Jenkins 在 Docker 和 ssh 中

Jenkins 在 Docker 和 ssh 中

我有一个在 docker 容器内运行的 jenkins(在服务器 A 上),并且我想在服务器 B 上通过 ssh 发布一个工件。

我已经在 J​​enkins 中安装了插件“通过 ssh 发布”,但我不知道如何配置 ssh。

我想我必须在服务器 A 上生成一个公钥/私钥,并在服务器 B 上发送我的公钥。但是针对哪个用户呢?

我在服务器 B 上有用户 jenkins,但在服务器 A 上没有。我是否应该使用在服务器 A 上运行 docker 的同一用户来生成密钥?我应该将密钥放在哪里?

谢谢。

答案1

您的问题似乎与使用 ssh 有关,而不是您在 Docker 中运行 Jenkins 的事实。所以我将重点讨论这一点。

使用 ssh 密钥对时,您需要在客户端生成密钥对,并将公钥提供给主机。因此,您想要在 上生成server A密钥并与之共享密钥,这是对的server B

您要为哪个用户添加密钥取决于您在哪里将密钥添加到authorized_keys文件在 上server B。在 上有哪些用户并不重要server A,只要您server B使用正确的用户通过 ssh 进入即可。
例如:如果您已将密钥添加到上的authorized_keys用户的 -file中,则您需要使用类似于 的命令通过 ssh 进入。fooserver Bssh foo@server_b

至于存储密钥的位置,密钥对通常位于客户端的 ~/.ssh 中。并且,如上所述,内容公钥将作为一行存储在authorized_keys主机上的文件中。

相关内容