Git 使用密码SSH密钥推送

Git 使用密码SSH密钥推送,git,github,kubernetes,openshift,openshift-3,Git,Github,Kubernetes,Openshift,Openshift 3,我在OpenShift 3.11(Kubernetes 1.11)上有一个Pod。从这个POD中,我需要使用密码SSH密钥推送到GitHub存储库。 现在我可以很好地创造一个秘密: apiVersion: v1 data: known_hosts: Yml... passphrase: abcde... ssh-privatekey: LS0... kind: Secret metadata: name: git-ssh-mirror namespace: mynamespa

我在OpenShift 3.11(Kubernetes 1.11)上有一个Pod。从这个POD中,我需要使用密码SSH密钥推送到GitHub存储库。 现在我可以很好地创造一个秘密:

apiVersion: v1
data:
  known_hosts: Yml...
  passphrase: abcde...
  ssh-privatekey: LS0...
kind: Secret
metadata:
  name: git-ssh-mirror
  namespace: mynamespace
type: kubernetes.io/ssh-auth
不过,我不知道如何以某种方式连接这个秘密,即Pod将同时使用私钥和密码短语


任何指针都将不胜感激。

创建的
git ssh mirror
secret的
数据部分中的
密码短语和
ssh privatekey
字段可以安装在容器内,如下所示:

  • ,或
  • 将secret作为环境变量装载到容器中
    GIT\u SSH\u密码短语
    GIT\u SSH\u PRIVATEKEY
  • 现在,在容器内使用环境变量
    GIT_SSH_PASSPHRASE
    GIT_SSH_PRIVATEKEY
    访问推送到GitHub存储库所需的SSH密码和私钥

  • 将机密文件作为文件装入容器中:
  • 现在,创建的
    git ssh镜像
    secret中的
    passphrase
    ssh privatekey
    的值被
    base-64
    解码并存储在容器内的只读文件
    /etc/mypath/passphrase
    /etc/mypath/ssh privatekey
    中。使用它们推送到GitHub存储库


如果需要对密码短语或SSH私钥进行
base-64
解码,请使用
base64--decode
命令。

git SSH mirror
secret创建的
数据
部分的
passphrase
SSH privatekey
字段可以安装在容器内,如下所示:

  • ,或
  • 将secret作为环境变量装载到容器中
    GIT\u SSH\u密码短语
    GIT\u SSH\u PRIVATEKEY
  • 现在,在容器内使用环境变量
    GIT_SSH_PASSPHRASE
    GIT_SSH_PRIVATEKEY
    访问推送到GitHub存储库所需的SSH密码和私钥

  • 将机密文件作为文件装入容器中:
  • 现在,创建的
    git ssh镜像
    secret中的
    passphrase
    ssh privatekey
    的值被
    base-64
    解码并存储在容器内的只读文件
    /etc/mypath/passphrase
    /etc/mypath/ssh privatekey
    中。使用它们推送到GitHub存储库


如果密码短语或SSH私钥需要
base-64
解码,请使用
base64--decode
命令。

找不到任何对
GIT\u SSH\u密码短语和/或
GIT\u SSH\u私钥的引用。他们也不为我工作。你有任何参考资料吗?请参考和使用pods中的机密。找不到任何对
GIT\u SSH\u密码短语
和/或
GIT\u SSH\u PRIVATEKEY
的参考资料。他们也不为我工作。你有什么参考资料吗?参考和使用豆荚中的秘密。
...
kind: Pod
...
spec:
  containers:
  - name: mycontainer
    image: myimage
    env:
      - name: GIT_SSH_PASSPHRASE
        valueFrom:
          secretKeyRef:
            name: git-ssh-mirror
            key: passphrase
      - name: GIT_SSH_PRIVATEKEY
        valueFrom:
          secretKeyRef:
            name: git-ssh-mirror
            key: ssh-privatekey
...
kind: Pod
...
spec:
  containers:
  - name: mycontainer
    image: myimage
    volumeMounts:
    - name: git-ssh-secrets
      mountPath: "/etc/mypath"
      readOnly: true
  volumes:
  - name: git-ssh-secrets
    secret:
      secretName: git-ssh-mirror