如何在jenkinsci/blueocean docker中设置ssh连接到远程服务器

51次阅读
没有评论

问题描述

正在本地运行jenkinsci/blueocean docker,按照jenkins.io上的docker运行jenkins的说明进行操作。一切似乎都正常工作,但是当用户使用docker exec进入docker时,无法使用sudo命令,并且无法为jenkins用户创建一个带有.ssh目录的主目录。
用户想知道是否有人有在这个docker镜像上设置基本ssh配置的经验。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

您可以在容器中作为ENTRYPOINT运行一个ssh服务器。它可以在前台启动:

ENTRYPOINT ["/usr/sbin/sshd", "-D","-p","22"]

确保您已经安装了openssh并设置了主机密钥。
这个Ansible角色可能会有所帮助:https://github.com/AAROC/CODE-RADE-container

方案2

请注意,通过SSH访问容器不是jenkins agent的设计目的,它更适用于使用JNLP连接。如果您真的想要设置SSH连接,但需要额外的工作。

方案3

请注意,Jenkins主节点和从节点通常不使用SSH进行身份验证。如果您想要使用SSH连接到远程服务器执行某些操作,这是一个不常见的用法。

正文完