14

私の bitbucket ユーザー名が「jon」で、 にいくつかの個人的なプロジェクトがあるとしhttps://bitbucket.org/jonます。

次に、「devteam」という bitbucket アカウントを持つ開発チームに参加するとします。https://bitbucket.org/devteam

次に、新しいマシンをセットアップしているとします。ssh キー ペアを生成id_rsaid_rsa.pubます~/.ssh。次に、開発チームのリーダーが私のid_rsa.pub公開鍵を bitbucket の開発チーム アカウントに追加します。これで、devteam アカウントからプロジェクトのクローンを作成し、作業を開始できます。

次に、自分のjonアカウントとやり取りしたいと思います。ただし、id_rsa.pubbitbucket からキーが既にアカウントに追加されていることが通知されるため、キーを bitbucket アカウントに追加できません。これは、2 番目のキー ペアを生成する必要があることを意味します。したがって、 httpsssh-keygen -f ~/.ssh/jon -C "jon" ://confluence.atlassian.com/pages/viewpage.action?pageId=271943168 の指示に従って実行し、このキーをbitbucket のアカウントに追加します。jon.pubjon

2 つのキー ペアができたのでid_rsajonどのキーをいつ使用するかを構成する必要があります。上記のリンク先の bitbucket ヘルプ ページの手順に従って、ディレクトリに次の内容のconfigファイルを作成します。~/.ssh

Host devteam
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa
Host jon
 HostName bitbucket.org
 IdentityFile ~/.ssh/jon

その後、次の置換を行うことができると通知されgit@bitbucket.org:jon/reponame.gitました。git@jon:jon/reponame.git

したがって、次のコマンドを実行しようとするとgit clone git@jon:jon/reponame.git、次のエラーが発生します。

Initialized empty Git repository in /home/jon/dev/reponame/.git/
Bad owner or permissions on /home/jon/.ssh/config
fatal: The remote end hung up unexpectedly

私は何を間違えましたか?

編集:これが私の~/.sshディレクトリのファイル許可です:

[jon@linuxmachine ~/.ssh]
 1$ ls -alh
total 32K
drwx------.  2 jon 4.0K Jan 18 19:20 ./
drwx------. 11 jon 4.0K Jan 18 19:34 ../
-rw-rw-r--.  1 jon  132 Jan 18 19:20 config
-rw-------.  1 jon 1.8K Jan 18 15:21 id_rsa
-rw-r--r--.  1 jon  406 Jan 18 15:21 id_rsa.pub
-rw-------.  1 jon 1.7K Jan 18 18:45 jon
-rw-r--r--.  1 jon  390 Jan 18 18:45 jon.pub
-rw-r--r--.  1 jon  808 Jan 18 18:40 known_hosts
4

3 に答える 3

15

私も同じ問題を抱えていました。ファイルのパーミッションを に変更した後~/.ssh/config-rw-r--r--エラー

Bad owner or permissions on /home/username/.ssh/config
fatal: The remote end hung up unexpectedly

消えた。

コンソールに書き込む:

cd ~/.ssh
chmod 644 config
于 2013-10-31T12:44:16.637 に答える
0

フォルダーに表示される RSA ファイルに関しては../.ssh/、破損したファイルを削除してこれを修正し、GitHub をインストールするときに再度生成します。

于 2014-03-17T16:21:53.320 に答える
0

これらのコマンドは問題を解決するはずです:

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

sudoファイルが別のユーザーによって所有されている場合は、プレフィックスを付けます。

より多くのファイルが影響を受ける場合はconfig*.

man ssh読むことができます:

悪用される可能性があるため、このファイルには厳密なアクセス許可が必要です。つまり、ユーザーに対して読み取り/書き込みが可能であり、他のユーザーが書き込みを行うことはできません。問題のグループにユーザーのみが含まれている場合、グループ書き込み可能である可能性があります。

于 2015-08-03T11:28:43.397 に答える