web-dev-qa-db-ja.com

権限エラーgithub(sshキーが認識されない)

別の(ローカル)リポジトリからgithubアカウントにプッシュした後、そのアクセス権を失ったようです。次のエラーが表示されます。

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

次に、次の手順を実行してキーを再生成しました。

ssh-keygen
Set up an ssh on my account for this laptop, using id_rsa.pub

しかし、これは失敗しました。次のコードを試してみると、次のエラーが表示されます。

ssh-add -l
Could not open a connection to your authentication agent.

何かご意見は?

18
mike

私はこの段階的な指示に従ってこの問題を解決しました:

ステップ1:SSHキーを確認します

$ cd ~/.ssh
# Checks to see if there is a directory named ".ssh" in your user directory
# If it says "No such file or directory" skip to step 3. Otherwise continue to step 2.

ステップ2:既存のSSHキーをバックアップして削除します

$ ls
# Lists all the subdirectories in the current directory
# config  id_rsa  id_rsa.pub  known_hosts

$ mkdir key_backup
# Makes a subdirectory called "key_backup" in the current directory

$ cp id_rsa* key_backup
# Copies the id_rsa keypair into key_backup

$ rm id_rsa*
# Deletes the id_rsa keypair

ステップ3:新しいSSHキーを生成します

$ ssh-keygen -t rsa -C "[email protected]"
# Creates a new ssh key using the provided email

# Generating public/private rsa key pair.
# Enter file in which to save the key (/home/you/.ssh/id_rsa):    
# Enter passphrase (empty for no passphrase): [Type a passphrase]
# Enter same passphrase again: [Type passphrase again]    
# Your identification has been saved in /home/you/.ssh/id_rsa.
# Your public key has been saved in /home/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

ステップ4:SSHキーをGitHubに追加します

$ Sudo apt-get install xclip
# Downloads and installs xclip

$ xclip -sel clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

次に、hithubに移動し、次のようにします。

  1. アカウント設定に移動します
  2. 左側のサイドバーの[SSHキー]をクリックします
  3. 「SSHキーを追加」をクリックします
  4. 「キー」フィールドにキーを貼り付けます
  5. 「キーを追加」をクリックします
  6. GitHubパスワードを入力してアクションを確認します

ステップ5:すべてをテストします

$ ssh -T [email protected]
# Attempts to ssh to github

よろしければ、

Hi username! You've successfully authenticated, but GitHub does not
# provide Shell access.

そうでなければ(それは私と一緒に起こりました)、あなたは見るでしょう

Agent admitted failure to sign using the key.
# debug1: No more authentication methods to try.
# Permission denied (publickey).

これを解決するには

$ ssh-add
# Enter passphrase for /home/you/.ssh/id_rsa: [tippy tap]
# Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

元の情報について

https://help.github.com/articles/generating-ssh-keys

https://help.github.com/articles/error-agent-admitted-failure-to-sign

53
Idealmind

〜/ .sshにすでに公開鍵がある場合(およびその鍵をgithubアカウントにすでに追加している場合)、再度SSHエージェントに鍵をロードするだけでよい場合があります。

SSHエージェントにキーがあるかどうかをテストするには、ssh-add -lと入力します。結果が次の場合:

The agent has no identities.

次に、次のようにキーをSSHエージェントにロードします。

ssh-add ~/.ssh/github_rsa

(github_rsaは、私のマシン上で保存されているSSHキーの名前です。このファイルは、特にid_rsaという名前にすることもできます)

その後、キーのパスフレーズを入力する必要があります(これはgithubにログインするためのパスワードである可能性があります)。次のようなメッセージが表示された場合:

Identity added: /Users/name/.ssh/github_rsa (/Users/cpotzinger/.ssh/github_rsa)
4
criscom

$ ssh-addこれはgitlabの次の問題を解決するのに役立ちました

jovimac-2:work joviano$ git clone [email protected]:bjetfweb.git
Cloning into 'bjetfweb'...
Access denied.
fatal: Could not read from remote repository.

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

次のコマンドでサーバーにキーをエクスポートする必要があります

ssh-copy-id user@Host

およびssh-agentはssh-addの前に実行する必要があります。この行を/etc/rc.local Linuxの場合:

eval $(ssh-agent)

編集:私はあなたがウィンドウを使用していることを知っているので、このスレッドを参照してください: Windowsコマンドシェルからgit runでssh-agentを動作させる

1
Gilles Quenot