Dockerによる複数のGithubアカウントの管理


githubのクライアントは、ユーザー名とパスワードを保存したり、sshログインを設定したりすることができますが、1つのユーザー名を保存した後、別のユーザーを使用するのは容易ではありません.この場合、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 [email protected]
else
    echo
        echo 'Step 1 : print public key'
        echo
        echo -e "\trun"
        echo -e "\tdocker run  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  test"
    echo
fi