私のような人なら、次のことができます。
自分の鍵を自分の~/.ssh/keys
ディレクトリに保存します。
私は設定よりも慣習を好みます。
コードは法律だと思います。シンプルであるほど良いです。
ステップ1-エイリアスを作成する
このエイリアスをシェルに追加します。 alias git-clone='GIT_SSH=ssh_wrapper git clone'
ステップ2-スクリプトを作成する
次のssh_wrapperスクリプトをPATHに追加します。
#!/bin/bash
# Filename: ssh_wrapper
if [ -z ${SSH_KEY} ]; then
SSH_KEY='github.com/l3x' # <= Default key
fi
SSH_KEY="~/.ssh/keys/${SSH_KEY}/id_rsa"
ssh -i "${SSH_KEY}" "$@"
例
github.com/l3xキーを使用します。
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
次の例でもgithub.com/l3xキーを使用しています(デフォルト)。
git-clone https://github.com/l3x/learn-fp-go
bitbucket.org/lsheehanキーを使用します。
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
ノート
ssh_wrapperスクリプトのデフォルトのSSH_KEYを、ほとんどの場合に使用するものに変更します。そうすれば、ほとんどの場合KEY変数を使用する必要がなくなります。
「ねえ!エイリアス、スクリプト、およびキーのディレクトリで多くのことが起こっている」と思うかもしれませんが、私にとっては慣例です。ほぼすべてのワークステーション(およびそのためのサーバー)は同様に構成されています。
ここでの目標は、定期的に実行するコマンドを簡略化することです。
Bashスクリプトやエイリアスなどの私の慣習により、一貫した環境が作成され、物事をシンプルに保つことができます。
KISSと名前は重要です。
その他の設計のヒントについては、私の本からGoの第4章SOLID設計を確認してください。
お役に立てば幸いです。-レックス