858

私はMacSnowLeopardを使用していて、インストールしたばかりgitです。

試してみました

git clone git@thechaw.com:cakebook.git

しかし、それは私にこのエラーを与えます:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

私は何が欠けていますか?
私もssh-keygenパスフェーズなしでやってみましたが、それでも同じエラーです。

4

57 に答える 57

1026

ユーザーが以前に設定されたssh公開鍵/秘密鍵のペアを生成していない場合

この情報はChawで機能していますが、SSHpubkey認証をサポートする他のすべてのgitリポジトリに適用できます。(たとえば、[gitolite] [1]、gitlabまたはgithubを参照してください。)

まず、独自の公開鍵と秘密鍵のペアセットを設定することから始めます。これはDSAまたはRSAのいずれかを使用できるため、基本的に設定したすべてのキーが機能します。ほとんどのシステムでは、ssh-keygenを使用できます。

  • まず、.sshディレクトリにcdします。ターミナルを開いて実行します。

cd ~/.ssh && ssh-keygen

  • 次に、これをクリップボードにコピーする必要があります。
  • OS Xで実行:cat id_rsa.pub | pbcopy
  • Linuxで実行する場合:cat id_rsa.pub | xclip
  • Windowsで(Cygwin / Git Bash経由で)実行:cat id_rsa.pub | clip
  • Windows(Powershell)で実行:Get-Content id_rsa.pub | Set-Clipboard(Thx to @orion elenzil)
  • Webサイトからアカウントにキーを追加します。
  • 最後に、.gitconfigをセットアップします。
  • git config --global user.name "bob"
  • git config --global user.email bob@... (コマンドラインを再起動して、構成が再ロードされていることを確認することを忘れないでください)

クローンを作成してチェックアウトするのは良いことです。

詳細については、https://help.github.com/articles/generated-ssh-keys(@Lee Whitneyに感謝)[1]:https ://github.com/sitaramc/gitoliteを参照してください。

-

ユーザーが以前に設定されたssh公開鍵/秘密鍵のペアを生成した場合

  • githubまたはgitlabアカウント設定でどのキーが承認されているかを確認してください
  • どの対応する秘密鍵をローカルコンピュータから関連付ける必要があるかを決定します

eval $(ssh-agent -s)

  • キーの場所を定義する

ssh-add ~/.ssh/id_rsa

于 2010-04-15T07:59:05.930 に答える
268

より広範なトラブルシューティングと自動修正でさえ、次の方法で実行できます。

ssh -vT git@github.com

または、以下のコメントによると、次のように発行できます。

ssh -vT git@gitlab.com

または、gitlab/githubを組織で実行されているGitインスタンスに置き換えます。

ソース:https ://help.github.com/articles/error-permission-denied-publickey/

于 2011-12-22T22:30:33.880 に答える
203

このエラーは、Git読み取り専用URLではなくSSH URL(読み取り/書き込み)にアクセスしているが、そのリポジトリへの書き込みアクセス権がない場合に発生する可能性があります。

サーバーにデプロイするなど、独自のリポジトリのクローンを作成したい場合があります。この場合、実際には読み取り専用アクセスのみが必要です。ただし、これは独自のリポジトリであるため、必要に応じてGitHubにSSHURLが表示される場合があります。この状況で、リモートホストの公開鍵がGitHub SSH鍵に含まれていないと、アクセスが拒否されます。これは予想されることです。

同等のケースは、SSHURLを使用した書き込みアクセス権がない他の誰かのリポジトリのクローンを作成しようとした場合です。

つまり、レポのみを複製することを目的としている場合はhttps://github.com/{user_name}/{project_name}.git、SSH URL()の代わりにHTTPS URL ( )を使用しますgit@github.com:{user_name}/{project_name}.git。これにより、(不要な)公開鍵の検証が回避されます。


更新:GitHubは現在デフォルトプロトコルとしてHTTPSを表示しており、この移動によりSSHURLの誤用の可能性を減らすことができます。

于 2013-05-09T15:14:22.237 に答える
143

githubヘルプリンクは、この問題を解決するのに役立ちました。sshキーがssh-agentに追加されていないようです。これが私がやったことです。

コマンド1:

ssh-agentが有効になっていることを確認します。このコマンドは、バックグラウンドでssh-agentを開始します。

eval "$(ssh-agent -s)"

コマンド2:

SSHキーをssh-agentに追加します。

ssh-add ~/.ssh/id_rsa
于 2015-11-29T15:09:04.590 に答える
68

同じエラーレポートを受け取りました。

SSHプロトコルの代わりにHTTPSを使用することで修正されました。テスト用PCに「SSHキー」を設定したくないので。

クローン作成時にURLをHTTPSに変更します。

git clone https://github.com/USERNAME/REPOSITORY.git

私の問題は少し異なります。既存のローカルリポジトリをリモートに追加するときに、次を使用してURLをSSHに設定しています。

git remote add origin ssh://github.com/USERNAME/REPOSITORY.git

これを修正するには、URLをHTTPSにリセットします。

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

ところで、次のコマンドを使用してURLを確認できます。

git remote -v
origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
origin  https://github.com/USERNAME/REPOSITORY.git (push)

これが私のような人に役立つことを願っています。:D

于 2018-01-03T23:58:08.030 に答える
48

私がやったのと同じ問題に苦しんでいて、リポジトリのクローンを作成することができました。私はMacでこれらの手順に従いました。

最初のステップ:公開SSHキーがすでにあるかどうかを確認します。

  1. ターミナルを開きます。
  2. 入力ls -al ~/.sshして、既存のSSHキーが存在するかどうかを確認します。

ディレクトリリストをチェックして、公開SSHキーがすでにあるかどうかを確認します。デフォルトの公開は次のいずれかです。d_dsa.pub、id_ecdsa.pub、id_ed25519.pub、id_rsa.pub

見つからない場合は手順2に進み、見つからない場合は手順3に従います。

ステップ2:公開SSHキーを生成する

  1. ターミナルを開きます。
  2. githubに使用する有効なメールアドレスを使用してfollowongコマンドを入力しますssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  3. ターミナルに次のように表示されますGenerating public/private rsa key pair"Enter a file in which to save the key,"Enterキーを押すように求められたら。これは、デフォルトのファイルの場所を受け入れます。プロンプトが表示されたら、Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]もう一度Enterキーを押します。プロンプトで、安全なパスフレーズを入力します。
  4. Enter passphrase (empty for no passphrase): [Type a passphrase]Enter same passphrase again: [Type passphrase again]もう一度Enterキーを押したくない場合は、Enterキーを押してください

これにより、id_rsa.pub

ステップ3:SSHキーをssh-agentに追加する

  1. 末端型eval "$(ssh-agent -s)"
  2. SSHキーをssh-agentに追加します。新しいSSHキーを生成するのではなく、既存のSSHキーを使用している場合は、コマンドのid_rsaを既存の秘密キーファイルの名前に置き換える必要があります。このコマンドを入力してください$ ssh-add -K ~/.ssh/id_rsa

次に、SSHキーをコピーして、githubアカウントに追加します

  1. ターミナルで、sshファイル名を使用してこのコマンドを入力します。pbcopy < ~/.ssh/id_rsa.pubこれにより、ファイルがクリップボードにコピーされます。githubアカウントを開きます。[設定]>[SSHおよびGPGキー]>[新しいSSHキー]に移動します。タイトルを入力し、クリップボードからキーを貼り付けて保存します。出来上がりです。
于 2017-03-07T06:28:19.327 に答える
40

これらの回答のいずれにも含まれておらず、トラブルシューティングに関するgitまたはgithubドキュメントに含まれていないWindowsの別の可能性:

gitは、あなたが思っているものとは異なるopenssh実行可能ファイルを使用している可能性があります。

Permission denied (public key)githubとssh.dev.azure.comからクローンを作成またはプルしようとするとエラーが発生しました。すべての手順に従い、とを使用してSSHキーが(SSHの観点から)正しくセットアップされていることを確認しましssh -vT git@github.comssh -vT git@ssh.dev.azure.com。そして、まだこれらのエラーが発生していました:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

最終的に、問題はGitforWindowsとWindowsの両方に独自のバージョンのopensshがあることであることがわかりました。これはここに文書化されています:https ://github.com/desktop/desktop/issues/5641

sshキーのパスフレーズを保存するためにWindowsssh-agentサービスに依存していたため、git(opensshの別バージョン)は秘密キーを読み取ることができませんでした。このエラーメッセージが使用されているのはバグだと思います-誤解を招く恐れがあります。

修正は次のとおりです。

git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"

または〜/ .gitconfigで:

[core]
    sshCommand = 'C:\\Windows\\System32\\OpenSSH\\ssh.exe'

おそらくこれはすぐにgitforWindowsで修正されるでしょうが、この問題で時間を無駄にしたのはこれが2回目です。

于 2020-04-11T20:43:00.700 に答える
36

これは私のために働きます:

ssh-add ~/.ssh/id_rsa
于 2017-01-07T12:17:57.400 に答える
25

(少なくとも一部のプロジェクトでは)sshキーを持つgithubアカウントが必要であることに注意してください。

認証エージェントにリストされているキーを確認します(ssh-add -l
(表示されない場合は、ssh-add / path / to / your / keyを使用して既存のキーの1つを追加します(例:ssh-add〜 /.ssh/id_rsa))
(キーがない場合は、最初にキーを作成します。http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.htmlを参照してください。または単にgooglessh-keygen)

githubアカウントに関連付けられたキーがあることを確認するには

https://github.com/settings/sshにアクセスします

ほんの1分前にssh-add-lと入力したときに表示されたハッシュの1つと一致するハッシュキーを持つキーが少なくとも1つ表示されるはずです。

そうでない場合は、1つ追加してから、再試行してください。

于 2013-01-17T20:13:19.217 に答える
25

ビジュアルガイド(Windows)

1 of2.Gitバッチ側

1.1。gitバッチを開く(彼女をダウンロード) ここに画像の説明を入力してください

1.2。 以下のテキストを貼り付けます(GitHubアカウントのメールに変更します)

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

ここに画像の説明を入力してください

1.3。Enter(デフォルトのファイルの場所を受け入れる)を 押しますここに画像の説明を入力してください

1.4。EnterTwiceをクリックします(またはSSHキーパスフレーズを設定します-Gitbub passphrases docs

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

1.5。キーが生成します:

IDは/c/Users/user/.ssh/id_rsaに保存されています...

1.6。 CopyクリップボードへのSSHキー。

$ clip < ~/.ssh/id_rsa.pub

2 of 2.GithubWebサイトのユーザー側

user setting ここに画像の説明を入力してください

SSH and GPG keys=>新しいSSHキーここに画像の説明を入力してください

Pasteステップからのコード1.6 ここに画像の説明を入力してください

終わり :)

ここに画像の説明を入力してください


誰かがSSHを使用したくない場合use HTTPS

ここに画像の説明を入力してください

Githubドキュメント: https ://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

于 2020-07-21T21:43:08.133 に答える
16

SSHHTTPSの違いは次のように考えられていたため、同じ問題が発生しました。

https://github.com/USERNAME/REPOSITORY.git

ssh://github.com/USERNAME/REPOSITORY.git

そのため、URLの末尾を何も変更しないだけで、 HTTPSからSSHに変更しました。https://ssh://

しかし、真実は次のとおりです。

https://github.com/USERNAME/REPOSITORY.git

git@github.com:USERNAME/REPOSITORY.git

つまり、動作するように変更ssh://github.com/USERNAME/REPOSITORY.gitしましgit@github.com:USERNAME/REPOSITORY.gitた。

愚かなエラーですが、希望は誰かを助けます!

于 2016-07-28T03:53:10.813 に答える
15

最近(2021年の後半)問題が突然発生した場合は、互換性のないハッシュアルゴリズムが原因である可能性があります。

この投稿(2021年10月)の時点で、Git for Windowsの最新バージョンは2.33.1(リリースノート)であり、最新のOpenSSH 8.8p1(リリースノートを採用しており、SHA-1は非推奨になっています。一方、リモートGitリポジトリがSHA-1に固執している場合は、認証に失敗します。

このケースに陥った可能性があるかどうかを確認するには、次の方法でソフトウェアのバージョンを確認してください。

ssh -V
git --version

次に、 OpenSSH 8.8/8.8pリリースノートの「互換性がない可能性のある変更」セクションを確認する必要があります。

TL; DR

解決策1:~/.ssh/configこれをファイルに追加して、SHA-1を再度有効にします。

Host <remote>
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

<remote>リモートリポジトリのホスト名に置き換えることを忘れないでください。

解決策2: RSAの代わりにECDSAまたはEd25519を使用してキーペアを再生成します。例えば:

ssh-keygen -t ecdsa -C <comment>

<comment>独自のニーモニックフレーズに置き換えることを忘れないでください。次に、生成された公開鍵をリモートリポジトリにアップロードします。


golang.org/x/crypto/ssh参考までに、サーバーで使用していて、この問題に関するページをここ(北京語)に投稿しているGitee.comにアクセスしたときに、このプロンプトメッセージが表示されました。

git@gitee.com: Permission denied (publickey).
于 2021-10-25T06:37:21.533 に答える
13

状況が少し異なります。リモートサーバーにログオンし、サーバーでgitを使用していましたが、gitコマンドを実行すると、同じメッセージが表示されました。

   Permission denied (publickey).
   fatal: The remote end hung up unexpectedly

私がそれを修正した方法は、私のMacでファイル/ etc/ssh_configを変更することでした。から

ForwardAgent no 

ForwardAgent yes
于 2013-12-17T00:43:12.680 に答える
11

これらは私がWindows10で行った手順です

  1. GitBashを開きます。

  2. 公開鍵の生成:

    ssh-keygen -t rsa -b 4096 -C "youremailaddress@xyz.com"
    
  3. 生成されたキーをクリップボードにコピーします(CTRL + Cのように機能します)

    clip < ~/.ssh/id_rsa.pub
    
  4. ブラウザで、Github=>プロファイル=>設定=>SSHおよびGPGキー=>キーの追加に移動します

  5. キー名を入力してクリップボードを貼り付けます(CTRL + V)。

  6. 最後に、接続をテストします(Git bash)

    ssh -T git@github.com
    

ここに画像の説明を入力してください

ありがとう!

于 2020-03-21T15:12:36.643 に答える
8

sshキーをルートフォルダにコピーする必要がありました。Ubuntu18.04を実行しているGoogleCloudCompute Engine

sudo cp ~/.ssh/* /root/.ssh/
于 2019-12-02T18:56:05.590 に答える
7

最も簡単な方法の1つ

ターミナルに行く-

  git push <Git Remote path> --all
于 2013-11-06T06:04:39.780 に答える
7

みんなこれは私のためにそれがどのように機能したかです:

  1. ターミナルを開いてユーザーに移動します[添付画像を参照]
  2. .sshフォルダーを開き、id_rsaやid_rsa.pubのようなファイルがないことを確認します。そうしないと、ファイルが正しく書き換えられないことがあります。
  3. git--version[gitのインストールとバージョンを確認してください]
  4. git config --global user.email "your email id"
  5. git config --global user.name "your name"
  6. git config--list[名前とメールアドレスが設定されていることを確認してください]
  7. cd〜/ .ssh
  8. ssh-keygen、ファイルの保存を求めるプロンプトが表示され、許可します
  9. cat〜/ .ssh / id_rsa.pub [公開鍵にアクセスし、その鍵をgerrit設定にコピーします]

:Gitでsudoコマンドを使用しないでください。sudoを使用しなければならない非常に正当な理由がある場合は、すべてのコマンドでsudoを使用していることを確認してください(その時点でシェルをルートとして取得するには、suを使用する方がよいでしょう)。sudoを使用せずにSSHキーを生成してから、sudo git pushなどのコマンドを使用しようとすると、生成したものと同じキーを使用できなくなります。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2016-05-18T03:40:39.887 に答える
7

何もうまくいかない場合はこれを試してください

  1. パーソナルアクセストークンを生成する(Setting -> Developer settings -> Personal access tokens -> Generate new token
  2. git remote set-url origin https://<TOEKN>@github.com/USERNAME/REPOSITORY.git

注:パスワードポップアップが表示された場合は、トークンのみを入力してみてください(2回試行してください)

于 2021-12-20T05:06:15.767 に答える
6

Windowsでは、すべてのアプリがHOMEに同意していることを確認してください。Msysは驚くべきことにあなたのためにそれをしません。sshとgitが私の.sshディレクトリの場所に同意できなかったため、環境変数を設定する必要がありました。

于 2012-11-07T20:58:26.377 に答える
6

あなたは企業環境にいますか?システム変数が最近変更された可能性はありますか?このSOの回答によると、sshキーはに存在し%HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pubます。したがって、%HOMEDRIVE%最近変更された場合、gitはキーを探す場所を認識しないため、すべての認証機能を認識できません。

実行してみてくださいssh -vT git@github.com。が配置されている場所に注意してくださいidentity file。私にとって、それは私の通常のことではなく\Users\MyLogin、ネットワークレベルでプッシュされた環境変数への変更のために、ネットワークドライブを指していました。

ソリューション?私の新しい%HOMEDRIVE%ものはローカルファイルと同じ権限を持っているので、.sshフォルダーをそこに移動して1日と呼びました。

于 2014-05-30T17:37:54.587 に答える
6

ghつまり、 Githubの公式CLIを使用したソリューション

ghインストール

brew install gh

ghログインまたはCLIによる認証

gh auth login

レポクローン

gh repo clone <username or orgname>/<repo-name>

例:gh repo clone keshavdulal/sample-repo

Rant:突然仕事をやめようと決心したとき、私も頭git cloneを悩ませていました。すでにアクセスできるおかしなリポジトリのクローンを作成するためだけに、ssh/公開鍵/暗号化を最初から再学習する忍耐力や頭脳がありません。ghまた、回答にまだ誰も言及されていないことに驚いた

于 2021-10-05T07:16:28.997 に答える
5

基本的なGIT命令は、SSHキーのものを参照していませんでした。上記のリンクのいくつかをたどると、さまざまなオペレーティングシステムでこれを行う方法をステップバイステップで正確に説明するgitヘルプページが見つかりました(リンクはそれに応じてOSを検出し、リダイレクトします):

http://help.github.com/set-up-git-redirect/

GITHubに必要なすべてをウォークスルーし、「RSAキーを作成するときにパスフレーズを追加する理由」などの詳細な説明も提供します。他の誰かに役立つ場合に備えて、投稿すると思いました...

于 2012-05-02T19:36:29.117 に答える
5

現在の作業ディレクトリに700のアクセス許可を与える必要があるため、このエラーが発生しました。

chmod -R 700 /home/ec2-user/
于 2018-06-29T17:33:22.487 に答える
4

私は次のことを手伝いました:

  1. オープンターミナル(Git Bash
  2. ディレクトリ内のすべてのファイルを削除する.sshか、名前を変更して新しい.sshフォルダを作成します。
  3. 手順の手順に従うには:
    1. 新しいSSHキーの生成
    2. SSHキーをssh-agentに追加する

システム:Windows10。

于 2021-08-21T07:34:26.363 に答える
3

Rufinusの返信に加えて、 Windowsでsshキーをクリップボードにコピーするためのショートカットは次のとおりです。

  • type id_rsa.pub | clip

参照:

于 2014-09-04T05:55:36.003 に答える
3

複数のキーがある場合は、実行する必要があります ssh-add private-keyfile

于 2016-07-03T00:08:32.463 に答える
3

そのかなり簡単です。以下のコマンドを入力します

ssh-keygen -t rsa -b 4096 -C "youremailid@yourdomain.com"

SSHキーを生成します。ファイルを開き、内容をコピーします。GitHub設定ページに移動し、SSHキーをクリックします。[新しいSSHキーを追加]をクリックして、内容をここに貼り付けます。それだけです:)この問題は二度と見られないはずです。

于 2016-08-23T05:42:34.627 に答える
3

別のユーザー名でリポジトリにプッシュしようとしている場合、これに対する最も簡単な解決策は次のとおりです。

 git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git
于 2016-11-20T21:28:05.193 に答える
2

現在のプロジェクトを設定しているときにこの問題が発生しましたが、上記の解決策はいずれも機能しません。そこで、コマンドssh -vT git@github.comを使用して、デバッグリストで実際に何が起こっているのかを調べてみました。秘密鍵のファイル名がリストにないことに気づきました。したがって、秘密鍵のファイル名の名前を「id_rsa」に変更すると、作業が完了します。これがお役に立てば幸いです。

于 2015-12-13T09:21:10.973 に答える
2

それは私のために働いた。

公開鍵はid_rsa.pub;ファイルに保存され、アカウントにアップロードする鍵です。これを実行すると、このキーをクリップボードに保存できます。

pbcopy <〜/ .ssh / id_rsa.pub

  • SSHキーをクリップボードにコピーし、Webポータルに戻ります。
  • [SSHキー]フィールドに、SSHキーを貼り付けます。
  • 「名前」フィールドに、キーの名前を入力します。
  • 保存する 。
于 2016-02-14T05:12:28.227 に答える
2

私のMACでは、これを次のように解決しました。

cp ~/.ssh/github_rsa ~/.ssh/id_rsa

何らかの理由で、私のgitはgithub_rsaファイル内の秘密鍵を見つけるのをやめました。これは特定のリポジトリで発生しました。つまり、他のリポジトリではgitは正常に動作し続けました。

バグだと思います。

この動作が実行されているのを見つけることができましたssh -vT git@github.com

于 2017-07-27T12:59:54.047 に答える
2

MACで、ターミナルに移動します

1)コマンドを使用してホームディレクトリに移動します-cd ~

2)cd .ssh && ssh-keygen(デフォルトの場合は、両方の入力のEnter / Returnキーをクリックします)

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):      
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/usernmae/.ssh/id_rsa.

3)その後、「ls」を実行します。id_rsa.pubファイルがあります。

4)id_rsa.pubファイルの内容をコピーします(catコマンドを使用して読み取ります- cat id_rsa.pub

5)BitBucketまたはSSHキーをサポートするバージョンツールに移動します。[キーの追加]オプションを使用して内容を貼り付けます

それでおしまい。今すぐコミットしてプッシュしてみてください。

ここに画像の説明を入力してください

于 2020-03-17T16:49:25.460 に答える
2

私にとって実際の問題は、テキストエディタを使用してSSH公開鍵をクリップボードにコピーすることです。

docs.github.comをフォローし、Notepad ++などのテキストエディターで.pubファイルを開いてSSH公開鍵をコピーすると、問題が発生します。

ここに画像の説明を入力してください

代わりに使用する

猫〜/ .ssh /id_***。pub| クリップ

コピーするコマンド

于 2021-09-26T12:04:28.010 に答える
2

git bashを使用してWindowsで既存のリポジトリをセットアップしようとしたときに、今日この問題に直面しました。問題は、次のように入力するときでした。

git clone myreposshurl

gitbashでは、ctrl+cおよびctrl+vは機能しません。リポジトリのURLを貼り付けようとしているときに、ctrl+vを実行しました。これにより不要な文字がいくつか導入されました。別のリポジトリのクローンを作成しようとして成功したときに、最終的に問題を見つけて解決しました。このばかげた間違いを理解するのに1.5時間かかりました。

\302\226git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

上記のような\302のような文字が表示された場合、これが1つの考えられる原因である可能性があります。

于 2021-10-04T09:20:26.693 に答える
2

node_modules/package-lock.jsonファイルとyarn.lockファイルを削除しました。もう一度走っnpm iた。これで問題は解決しました。

于 2021-12-16T11:59:27.070 に答える
2

一部の古いブログではなく、SSHキー生成手順についてGitHubを常に確認してください

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generated-a-new-ssh-key-and-adding-it-to-the-ssh-agent

ここで、キーが次のコマンドで生成されていることがわかります。

ssh-keygen -t ed25519 -C "your_email@example.com"

したがって、アルゴリズムはed25519であり、rsaなどではありません。

于 2022-01-11T08:47:44.770 に答える
1

makefileを実行しようとすると、同様のPermissiondenied(publickey)エラーが発生していました。

上記のSSH手順の代わりに、ネイティブのGitHubforMacアプリケーションをインストールできます。

[ GitHub for Macのダウンロード]をクリックします-https://help.github.com/articles/set-up-git#platform-mac

gitハブアカウントでセットアップを完了すると(gitハブコマンドラインツールもインストールしましたが、この手順が必要かどうかはわかりません)、メールを受け取りました-

[GitHub]新しい公開鍵がアカウントに追加されました

そして私のエラーは修正されました。

于 2013-06-13T17:01:22.540 に答える
1

同じエラーが発生していました。私の問題はsudoの混合でした。

git cloneコマンドの前にsudoを付けないと、クローンを作成するディレクトリを自動的に作成できませんでした。しかし、それを行ったとき、sshキーが適切に参照されていませんでした。

これを修正するには、クローンを含めたい親ディレクトリにchmodを介してアクセス許可を設定し、クローンに書き込めるようにしました。次に、sudoプレフィックスなしでgitcloneを実行しました。それからうまくいきました!その後、権限を元に戻しました。終わり。

于 2015-07-29T19:24:35.137 に答える
1

間違った電子メールでsshキーを生成したため、このエラーが発生していました。sshを使用して接続できましたが、gitを使用しませんでした。解決策は、githubアカウントのメインのメールアドレスを使用してキーを再生成することでした。

于 2015-12-15T18:59:56.613 に答える
1

それは私のために働いた

ssh -i [your id_rsa path] -T github@github.com
于 2016-04-06T07:26:21.197 に答える
1

gnome-keyring-daemonこの奇妙なエラーは、私の場合、パスワードが必要なキーに誤った名前を付けた症状でした。

ここで説明する手順に従い、端末からパスワードを入力しました。エラー、別名交絡GUIインターフェースは解決されました。参照:https ://askubuntu.com/questions/3045/how-to-disable-gnome-keyring

于 2017-06-26T04:50:35.577 に答える
1

私の場合、ubuntuを再インストールし、ユーザー名を以前から変更しました。この場合、生成されたsshキーも前のキーとは異なります。

この問題は、現在のssh公開鍵をリポジトリにコピーするだけで解決しました。キーはユーザーので利用可能になります/home/.ssh/id_rsa.pub

于 2017-07-06T07:19:08.930 に答える
1

ターミナルを管理者として実行します。

端末が.sshを認識できない場合は、そのエラーが返されます。

于 2018-11-28T19:26:02.980 に答える
1

私にとって問題は使用していたsudo

sudo git clone git@github.com:userName/repo.git上記のエラーが発生していました。

したがって、これを修正するために、クローンを作成しようとしていたフォルダーをchownします

sudo chown -R $USER:$USER /var/www/iqge.org/html

その後、これを使用して git clone git@github.com:userName/repo.git正常に実行されました

于 2021-02-13T07:06:13.707 に答える
1

パートを行った後ssh-keygen、以下で検証を確認できます。

  1. $ ssh -T git@github.comSSH接続をテストするため。

  2. どのユーザーが「ssh-keygen」コマンドを実行したかを確認します。生成した公開鍵の後にそのユーザーが続きます。以下の理由:

sudoコマンドをGitで使用する必要がありますか?

Gitでsudoコマンドを使用しないでください。sudoを使用しなければならない非常に正当な理由がある場合は、すべてのコマンドでsudoを使用していることを確認してください(その時点でシェルをルートとして取得するには、suを使用する方がよいでしょう)。sudoを使用せずにSSHキーを生成してから、sudo git pushなどのコマンドを使用しようとすると、生成したものと同じキーを使用できなくなります。

  1. リポジトリのクローンを作成するディレクトリの書き込み権限があることを確認してください。そうでない場合は、それを行います。suまた、ユーザーグループの権限を更新した後、ログアウトなどで現在のユーザーを更新する必要があります。
于 2021-08-17T16:53:37.127 に答える
0

Githubからのsshリンクを使用しますが、sshを追加しないように注意してください。githubのsshタブでリポジトリのクローンを作成できるものを使用してください。

于 2012-09-05T17:53:30.060 に答える
0

私のubuntuシステムで以下の手順を実行することで、この問題を解決することができました。私はシステムへのパスワードなしのsshを試していました。

sudo vi / etc / ssh / sshd_config

1)以下のコメント:#トンネル化されたクリアテキストパスワードを無効にするには、noに変更します。#PasswordAuthentication yes PasswordAuthenticationno---->コメントしました。

2)次に、以下のようにsshdデーモンを再起動します。

service sshd restart

于 2017-04-03T09:31:24.597 に答える
0

Macの手順:

  1. ユーザーの切り替え(sudo su-jenkins)
  2. キーを生成します(ssh-keygen -t rsa -b 4096 -C "username")。ユーザー名は、jenkinsで使用しているユーザー名です。
  3. 生成された公開鍵(cat〜/ .ssh / id_rsa.pub)をコピーします。
  4. キーをgitアカウントに貼り付けます。([設定]->[SSHおよびCPGキー]->[新しいsshキー]->キーの名前(任意)を入力し、説明にキーを貼り付けます)。
于 2017-05-28T20:28:06.947 に答える
0
$ cd ~
$ cd .ssh
$ chmod 400 id_rsa
于 2017-10-07T06:04:07.000 に答える
0

私の経験も共有させてください、

アカウント設定で公開鍵を取得したGerritリポジトリからプロジェクトのクローンを作成しようとしていました。

最初に作成しようとするgit cloneと、次のエラーが発生しました。

Unable to negotiate with XX.XX.XX.XX port XXX: no matching key exchange
method found. Their offer: diffie-hellman-group1-sha1

-oKexAlgorithms=+diffie-hellman-group1-sha1どういうわけかSSHオプションをに渡す必要があることがわかりましたgit clone

うまくいけばGIT_SSH_COMMAND、環境変数がその仕事をしました:

export GIT_SSH_COMMAND="ssh -oKexAlgorithms=+diffie-hellman-group1-sha1"

しかし、git cloneそれでも機能し始めませんでした。今、それは(トピックに関して)スローします:

Permission denied (publickey).

私はすでにSSHキーを取得していて、それらを再生成したくありませんでした。ホストへのプレーンSSH接続を確認しましたが、問題ありませんでした。

****    Welcome to Gerrit Code Review    ****

  Hi XXXXX, you have successfully connected over SSH.

  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:

  git clone ssh://xxxxx@xx.xx.xx:xxx/REPOSITORY_NAME.git

少し戸惑いました。もう一度起動し、-vvvオプションでSSHのデバッグをオンにしました。そして私は次を見ました:

debug1: read_passphrase: can't open /dev/tty: No such device or address

おそらく、それはGIT_SSH_COMMANDenv変数のオーバーヘッドでした-私のキーはパスフレーズで保護されていました(そして私はgitリポジトリホストへのログインをチェックしているときにそれを入力しました)。

それで、私はその時、phasphraseを取り除くことに決めました。簡単なコマンドが役に立ちました:

ssh-keygen -p

次に、「古いパスフレーズ」のパスフレーズを入力ENTERし、「新しいパスファーレ」を2回押して、空のままにします。つまり、パスフレーズがまったくない状態にして、選択を確認します。

その後、ローカルディスクに新しく複製されたリポジトリを取得しました。

于 2017-12-19T15:51:37.150 に答える
0

まず、次のような標準的なものを確認することをお勧めします。

  • システムに正しいユーザーとしてログインし、
  • システム内の適切な場所に適切な秘密鍵を持っている、
  • 正しいユーザー名ホスト名、およびポートで接続してみてください。
  • 外部サーバーの適切な場所(および適切なユーザー)に公開鍵を配置し
  • コンピューターでsshサービスを再起動しました。
service ssh restart

(または、システム内のサービスの管理方法に応じて別の方法で...)

それで十分でした。

于 2019-03-23T16:18:14.907 に答える
0

私もまったく同じエラーが発生しました。

問題は、公開鍵をBitBucketにコピーするときに(私の場合)、最後に表示されない改行がコピー/貼り付けされることでした。

したがって、公開鍵をコピーするときは、最初にメモ帳にコピーし、最後の空の行を削除してコピーし、貼り付けます。

于 2020-01-15T15:51:36.370 に答える
0

public /privateconfigが正しくない可能性があります。手順に従ってください。ウィンドウ内の任意の場所でコマンドを実行します

ssh-keygen -o -f ~/.ssh/id_rsa

次に、c:// users / xyz / .ssh /に移動し、id_rsaキーを開きます(パスは異なる場合があります)。次に、gitlabおよびuserprofile>設定> sshキーに移動し、ここにキーを追加します。今クローンを試してみてください

于 2020-08-13T07:51:00.457 に答える
0

新しいコンピューターを使用したり、ジョブを切り替えたりするときはいつでも、これらはgithubアクセスのセットアップに従う手順です。MacまたはWindows

-https://github。[yourWorkDomain].comにアクセスします。[設定]→[開発者設定]→[個人アクセストークン]に移動します-
新しいトークン
を生成します-トークンの説明を設定し、スコープの[repo]ボックスのみをオンにします(これにより、repo:status、repo_deployment、public_repo、repo:inviteアクセスが提供されます)

-トークンを受け取ったら、それをコピーします(まだ移動しないで、次の2つの手順が機能することを確認します)
-リポジトリのクローンを再作成します(「https」を使用)-
ユーザー名にはユーザー名を使用します
-パスワードには、コピーしたトークンを貼り付けます
-今後のすべてのリクエストは、ユーザー名とパスワードを要求しなくても機能するはずです。

于 2021-02-24T16:03:56.287 に答える
0
  • PCのどこにでも新しいフォルダを作成します(デスクトップなど)

  • その新しいフォルダーに移動し、そこでgitbashを開きます。

&bashに次のコードを記述します。

$ git init
$ git remote add origin https://github.com/YOUR_GITHUB_HANDLER/YOUR_REPO_NAME.git
$ git pull origin master

(ファイルがプルされているかどうかに関係なく、その新しいフォルダーを参照してください)

ファイルがプルされた場合は、最初に.gitフォルダーを含む古いフォルダー(説明されているエラーが発生する場所)からすべてのファイル/フォルダーを削除します

&.gitを含むすべてのファイルを新しいフォルダーからコピーし、説明されているエラーが発生する古いフォルダーに貼り付けます。

これにより、リモートリポジトリが取得されます。

ローカルで行った新しい変更を削除せずにリモートリポジトリをフェッチする場合は、新しい.gitフォルダーのみをコピーして貼り付けます

今、あなたはすることができるようになります$ git push origin master

于 2021-04-20T13:52:09.240 に答える
0

SourceTreeforWindowsの場合

WindowsでSourceTreeを使用する場合は、PuTTyGenを使用して新しいキーペアを作成する必要があります

ここに画像の説明を入力してください

ssh-rsa挿入する必要がある上部セクションのキー

Github => Profile=> Settings => SSH and GPG keys => Add Key

次に、秘密鍵を保存して追加しますPageant(SourceTreeで実行されます)

ここに画像の説明を入力してください

それで全部です

于 2021-08-11T16:49:03.670 に答える
0

ターミナルで次のことから始めることができます。

  1. cd〜/ .ssh

  2. 次のコマンドを実行してsshキーを生成します。ssh-keygen-o-trsa -C "your@email.com"

  3. キーを保存する場所を入力するように求められたら、次のように入力します。pbcopy

  4. パスフレーズを入力して確認すると、新しいキーが生成されます。

  5. 次のコマンドを実行して、キーについてgithubに通知します:cat〜/ .ssh / id_rsa.pub

  6. 出力をコピーしてからgithubに移動し、新しいSSHキーを作成します。コピーしたコンテンツをテキスト領域に貼り付け、適切なタイトルを付けてから、[キーを追加]ボタンを押します。

これで、手間のかからない操作を行うことができます。

于 2022-02-08T13:16:52.043 に答える