借助 Docker 管理多个 Github 账户

12 篇文章 0 订阅
7 篇文章 0 订阅

github 的客户端可以保存用户名和密码,也可以设置 ssh 登录,不过在保存了一个用户名之后,想使用另一个用户就不方便切换了,此时可以借助 Docker 把 ssh 密钥保存在镜像中,不同的的镜像中保存不同的 ssh 密钥。
运行方式:
获取代码

git clone https://github.com/huzhenghui/Connecting-to-GitHub-with-SSH

进入项目目录

cd .\Connecting-to-GitHub-with-SSH\

构建 Docker 镜像

docker build -t ssh-github .

运行,将看到帮助说明

docker run ssh-github

获取公钥

docker run ssh-github key

把公钥复制到 github 页面中
https://github.com/settings/keys
测试

docker run ssh-github test

不想看代码的话看到这里会使用就可以了。
构建 Docker 镜像的脚本

FROM alpine

MAINTAINER huzhenghui hu@daonao.com

COPY known_hosts /root/.ssh/known_hosts
COPY entrypoint.sh /root/entrypoint.sh

RUN apk update && \
    apk add openssh-keygen openssh-client && \
    ssh-keygen -t rsa -b 4096 -N "" -C "" -f /root/.ssh/id_rsa && \
    eval "$(ssh-agent -s)" && \
    ssh-add /root/.ssh/id_rsa

ENTRYPOINT ["/bin/sh", "/root/entrypoint.sh"]

入口脚本

#!/bin/sh
if [ -$1- == -key- ]; then
        cat /root/.ssh/id_rsa.pub
elif [ -$1- == -test- ]; then
        ssh -T git@github.com
else
    echo
        echo 'Step 1 : print public key'
        echo
        echo -e "\trun"
        echo -e "\tdocker run <IMAGE NAME> key"
        echo
        echo 'Step 2 : add key to github'
        echo
        echo -e "\tvisit"
        echo -e "\thttps://github.com/settings/keys"
        echo
        echo 'Step 3 : test'
        echo
        echo -e "\trun"
        echo -e "\tdocker run <IMAGE NAME> test"
    echo
fi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值