8.3.4.2.6. SSH 密钥身份验证
基于 SSH 密钥的身份验证需要 SSH 私钥。
存储库密钥通常位于 $HOME/.ssh/ 目录中,但默认名称为 id_dsa.pub
、id_ecdsa.pub
、id_ed25519.pub
或 id_rsa.pub
。使用以下命令生成 SSH 密钥凭证:
$ ssh-keygen -t rsa -C "your_email@example.com"
注意
使用带有密语保护的 SSH 密钥会导致 OpenShift Container Platform 无法进行构建。提示输入密语(passphrase)时,请将其留空。
创建两个文件:公钥和对应的私钥(id_dsa
、id_ecdsa
、id_ed25519
或 id_rsa
之一)。这两项就位后,请查阅源代码控制管理 (SCM) 系统的手册来了解如何上传公钥。私钥用于访问您的私有存储库。
在使用 SSH 密钥访问私有存储库之前,请先创建 secret:
$ oc create secret generic <secret_name> \
--from-file=ssh-privatekey=<path/to/ssh/private/key> \
--from-file=<path/to/known_hosts> \ 1
--type=kubernetes.io/ssh-auth
- 1
- 可选:添加此字段可启用严格的服务器主机密钥检查。警告
在创建 secret 时跳过
known_hosts
文件会使构建容易受到中间人 (MITM) 攻击的影响。注意确保
known_hosts
文件中包含源代码主机条目。