我有一个在 docker 容器内运行的 jenkins(在服务器 A 上),并且我想在服务器 B 上通过 ssh 发布一个工件。
我已经在 Jenkins 中安装了插件“通过 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 进入。foo
server B
ssh foo@server_b
至于存储密钥的位置,密钥对通常位于客户端的 ~/.ssh 中。并且,如上所述,内容公钥将作为一行存储在authorized_keys
主机上的文件中。