web-dev-qa-db-ja.com

複数のBitbucketアカウント

私は9-5の仕事にBitbucketアカウントを持っています。個人のBitbucketアカウントも持っています。私の目標は、同じコンピューターで両方を使用できるようにすることです。 Windows 7 pcに最新のgitをインストールしました。

現在、私の会社のBitbucketアカウントのすべてが正常に機能し、問題なくプル/プッシュできます。 ssh-keygenを使用して新しいsshキーを作成し、私のケース「tech」に新しい名前を割り当てました。しかし、作成した新しいsshキーを使用するようにローカルリポジトリに指示する方法に問題があります。接続しようとするたびに、最初のsshキーを使用すると想定しています。

エラーが表示されます:

$ git Push conq:リポジトリアクセスが拒否されました。致命的:リモートエンドが予期せずハングアップしました

インターネットでいくつかのアドバイスを見つけましたが、linux/gitのセットアップに関連しているようです。たとえば、Windowsで「config」ファイルが見つかりません。

67
TheWebGuy

鍵を鍵マネージャー(ssh-agent)に追加していない場合、このエラーが発生する可能性があります。これをする:

ssh-add ~/.ssh/tech

ところで、複数のBitbucketアカウントがある場合、各アカウントに一意のキーが必要になります。 IOW、キーを再利用することはできません。

50
MoxieandMore

このブログ投稿 は、単一のコンピューターに複数のsshキーを追加し、bitbucketアカウントごとに1つのsshキーを使用する簡単な方法を説明しています。 bitbucketの公式ドキュメント よりもはるかに明確です。要約する:

最初に、 Github上のこれ のようなチュートリアルを使用して、デフォルトのアカウント設定があることを確認します。

2番目のアカウントの場合:

  1. 新しいsshキーを作成します。

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
    
  2. pbcopy < ~/.ssh/<your second account name>.pubを使用して公開鍵をコピーし、この鍵を(設定領域で)bitbucketアカウントに追加します

(Windowsでは ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip を使用してsshキーをコピーできます。または Linuxではこれらの指示に従うことができます。

  1. 以下を~/.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>
    
  2. これで、以前と同じ方法でデフォルトのアカウントでプロジェクトを複製できます:

    git clone [email protected]:username/project.git
    
  3. 2番目のIDを持つプロジェクトを複製するには、bitbucket.orgを~/.ssh/configファイルで指定したホスト(上記のbitbucket-account2)に置き換えます:

    git clone git@bitbucket-account2:username/project.git
    

それでおしまい!

102
ZenBalance

すでに述べたように、パブキーを生成する必要があるのは1回だけです-BitBucketで既にセットアップされているので、id_rsa(または自分の名前)ファイルはどこにありますか? Windowsのインストールでは、非表示フォルダー.sshのユーザーのホームディレクトリの下にあります。そこにconfigファイルを作成できるはずです。

0
Nic