私は9-5の仕事にBitbucketアカウントを持っています。個人のBitbucketアカウントも持っています。私の目標は、同じコンピューターで両方を使用できるようにすることです。 Windows 7 pcに最新のgitをインストールしました。
現在、私の会社のBitbucketアカウントのすべてが正常に機能し、問題なくプル/プッシュできます。 ssh-keygenを使用して新しいsshキーを作成し、私のケース「tech」に新しい名前を割り当てました。しかし、作成した新しいsshキーを使用するようにローカルリポジトリに指示する方法に問題があります。接続しようとするたびに、最初のsshキーを使用すると想定しています。
エラーが表示されます:
$ git Push conq:リポジトリアクセスが拒否されました。致命的:リモートエンドが予期せずハングアップしました
インターネットでいくつかのアドバイスを見つけましたが、linux/gitのセットアップに関連しているようです。たとえば、Windowsで「config」ファイルが見つかりません。
鍵を鍵マネージャー(ssh-agent)に追加していない場合、このエラーが発生する可能性があります。これをする:
ssh-add ~/.ssh/tech
ところで、複数のBitbucketアカウントがある場合、各アカウントに一意のキーが必要になります。 IOW、キーを再利用することはできません。
このブログ投稿 は、単一のコンピューターに複数のsshキーを追加し、bitbucketアカウントごとに1つのsshキーを使用する簡単な方法を説明しています。 bitbucketの公式ドキュメント よりもはるかに明確です。要約する:
最初に、 Github上のこれ のようなチュートリアルを使用して、デフォルトのアカウント設定があることを確認します。
2番目のアカウントの場合:
新しいsshキーを作成します。
ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
pbcopy < ~/.ssh/<your second account name>.pub
を使用して公開鍵をコピーし、この鍵を(設定領域で)bitbucketアカウントに追加します
(Windowsでは ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip
を使用してsshキーをコピーできます。または Linuxではこれらの指示に従うことができます。
以下を~/.ssh/config
ファイルに追加します。 1つ目は、bitbucket.orgのデフォルトキーを設定します。 2番目は、2番目のキーをbitbucket.orgのエイリアスbitbucket-account2
に設定します。
Host bitbucket.org
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa
Host bitbucket-account2
Hostname bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/<your second account name>
これで、以前と同じ方法でデフォルトのアカウントでプロジェクトを複製できます:
git clone [email protected]:username/project.git
2番目のIDを持つプロジェクトを複製するには、bitbucket.orgを~/.ssh/config
ファイルで指定したホスト(上記のbitbucket-account2
)に置き換えます:
git clone git@bitbucket-account2:username/project.git
それでおしまい!
すでに述べたように、パブキーを生成する必要があるのは1回だけです-BitBucketで既にセットアップされているので、id_rsa
(または自分の名前)ファイルはどこにありますか? Windowsのインストールでは、非表示フォルダー.ssh
のユーザーのホームディレクトリの下にあります。そこにconfig
ファイルを作成できるはずです。