- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Jenkins 中,我只见过一种存储私有(private) ssh key 凭证的方法。
这个方法大家都推荐:在浏览器中打开Jenkins服务器门户网站,进入Credentials
, 及以下 Add Credentials
, 选择 SSH Username with private key
,将私钥粘贴到网页中,然后点击ok
.
我假设这使用 HTML 表单通过 HTTPS 将 POST 请求中的私钥发送到 Jenkins 服务器,然后将私钥本地保存在服务器的磁盘上。
问题 :对问题“How to securely send private keys?”的最高投票回答指出,私有(private) ssh key 只能由 保护。根本不传输 .
我的问题 :将私钥粘贴到 Jenkins 门户网站并通过 HTTPS 传输它们真的安全吗?如果没有,将私钥放入 Jenkins 凭据的最佳方法是什么?
最佳答案
现场
对于几乎所有用例来说,为此使用 Web UI 可能已经足够安全,并且在便利性方面很难被击败。
尽管如此,在需要的地方生成私钥肯定是个好建议,并且绝对可以使用 Jenkins。一种方法:
$HOME
和
$JENKINS_HOME
指向
/var/jenkins_home
, 并且 key 在
~/temp
中生成.
ssh jenkins@my.jenkins.server
mkdir ~/temp
cd ~/temp
ssh-keygen -t rsa -b 4096 -C "some-meaningful-label" -f "./my-in-situ-key"
my-in-situ-key
和
my-in-situ-key.pub
在
/var/jenkins_home/temp
.
import com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey
import com.cloudbees.plugins.credentials.CredentialsScope
import com.cloudbees.plugins.credentials.domains.Domain
def domain = Domain.global()
def store = Jenkins.instance.getExtensionList('com.cloudbees.plugins.credentials.SystemCredentialsProvider')[0].getStore()
def privateKeyString = new File('/var/jenkins_home/temp/my-in-situ-key').text
def keySource = new BasicSSHUserPrivateKey.DirectEntryPrivateKeySource(privateKeyString)
def privateKeyCredential = new BasicSSHUserPrivateKey(
CredentialsScope.GLOBAL,
"temp-stack-overflow-key", // id
"jenkins", // username
keySource, // private key
"", // passphrase
"Temporary Demo Key" // description
)
store.addCredentials(domain, privateKeyCredential)
"Credential Added"
cat ~/temp/my-in-situ-key.pub
rm -rf ~/temp
关于security - 将私钥粘贴到 Jenkins 门户网站是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60731262/
根据此 Microsoft 指南: https://learn.microsoft.com/en-us/azure/app-service/webjobs-create右键单击 Web 作业时,应该会
我正在尝试在新的 Azure 门户中将网站的开发人员组添加到读者角色,并将用户分配到该组。 当我将特定用户添加到网站的读者角色时,用户可以正常看到所有内容,但是当我删除该用户并将其添加到开发人员组时,
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我无法验证 Azure Portal在我的家庭桌面(Windows 10 家庭版)上。它只是挂着以下图标,直到我最终被重定向到 error timeout page . 有趣的是,我仍然可以登录 Of
我知道我的问题并不具体,也没有明确的答案,但我需要帮助来弄清楚从哪里开始寻找。 因此,我们在 Azure 门户上工作,并有一个 Web 作业从队列中获取消息并处理它们;由于一些奇怪的原因,当我使用 S
昨天共享我的 Azure 门户仪表板后,我想我不小心删除了我的默认仪表板,因为它与共享仪表板同名。现在,当我登录门户时,我收到以下消息: Dashboard not found We could no
过去几天我收到一个非常奇怪的错误。当我尝试在 Azure 门户中打开任何 SQL Azure 数据库时,我只是在通知中心收到一条错误消息: Refresh the browser to try aga
我在 BizTalk 方面有相当丰富的经验,但对 ESB 工具包还很陌生。我们实际上并不需要这样的 ESB 解决方案,但我想使用 ESB Portal 来显示错误、修改消息并重新提交。 据我所知,我已
昨天共享我的 Azure 门户仪表板后,我想我不小心删除了我的默认仪表板,因为它与共享仪表板同名。现在,当我登录门户时,我收到以下消息: Dashboard not found We could no
过去几天我收到一个非常奇怪的错误。当我尝试在 Azure 门户中打开任何 SQL Azure 数据库时,我只是在通知中心收到一条错误消息: Refresh the browser to try aga
错误 500:java.util.MissingResourceException:找不到 bundle com.ibm.abc.nl.abcdf、 key en_US 的资源。 我收到此异常。我在
我正在尝试编写一个程序,以编程方式将用户登录到 ArcGIS 门户。 这是我的场景: 用户登录到应用程序 A,用户单击指向 ArcGIS 门户的链接 - 我不希望他们在单击该链接时必须登录门户,因为他
React portals让您将 React 子元素渲染到不同的 DOM 元素中,在页面上完全独立的某个位置。 我想做相反的事情:我想在页面的其他地方渲染一次 DOM 元素,然后根据我的 React
我一直在使用 Azure 搜索通过 Azure 门户远程创建的索引 (Umbraco) 中进行搜索。 今天早上,我收到错误消息,告诉我在索引中允许门户来源。 我不明白为什么我昨天能够搜索,而今天它告诉
我曾使用 Websphere Portal 6.0、6.1 并使用 JSR 168、JSR 286 Portlets 开发了门户应用程序。 现在我正在转移到我将使用 Liferay 门户服务器和 JS
如何使用 portal.properties 配置或覆盖 Liferay 门户属性? 最佳答案 Liferay 属性是一种强大的工具,它允许我们配置 Portal 行为而无需编写 hooks-、ext
我已经安装了 FIM Portal 并且安装成功。但是,我无法在 FI 上查看导航栏和管理控件 最佳答案 在集合 --> 搜索管理员 --> 将您的用户 ID 添加到该集合。 关于sharepoint
我的 Web 应用程序部署在 Azure 门户中。我想从我的解决方案中删除整个 web.config 文件,并想在 Azure 中配置它。是否可以做到这一点,如果可能的话,我需要在哪里提供azure中
我认为这是不可能的,但我想知道是否有任何网址可以将我重定向到标准逻辑应用程序(单租户)中的特定工作流程。 我为什么要问这个问题,因为在消费逻辑应用程序中,如果我向某人提供 URL,他们会直接进入概述页
我是一名优秀的程序员,十分优秀!