web-dev-qa-db-ja.com

GitHubの「キーが無効です」メッセージ

here に概説されている手順に従って、新しいサーバーインストール用のSSHキーを生成しました。ただし、id_rsa.pubの内容をGitHubのキーリストにコピーすると、「キーが無効です。ファイルを正しくコピーしたことを確認してください」というエラーメッセージが表示されます。

生成されたキー有効であり、そのままコピーします(すべて1行で、先頭/末尾に空白なしで)。

誰が何が起こっているのか考えていますか?

42
user2398029

私は同じ問題を抱えていたのでここに来ました。あなたの質問から、私は間違ったファイルからコンテンツをコピーしていることに気付きました(ちょうどid_rsaファイル、なし.pub拡張子)。

MACから:

vi ~/.ssh/id_rsa.pub

文字ブロックの末尾(メールドメイン拡張子の最後の文字)からssh-rs ...で始まる先頭に正確にコピーします

動作しない場合は、確実に正しくコピーされていません。

出来た。

Windowsを使用している場合は、上記のようにメモ帳とコピーアンドペーストを使用します。

それが役に立てば幸いです。

54
shailenTJ

以下に、公開キーをコピー/貼り付けする際に明確でないいくつかの手順を示します。 (記録のために、私はキーにPuTTY Key Generatorを使用しました。)

  • 最初の行に、ssh-rsaと入力します。
  • Ssh-rsaの後にスペースを1つ追加してください。
  • キーをキーテキストボックスにコピー/貼り付けすると、\ n文字(x0A)が保持されます。 Windowsでメモ帳を使用している場合、テキストをGithubにコピーするまでこれらの新しい行は表示されません。

このスクリーンショットでは、ssh-rsaの後にスペースがあります(カーソルを参照してください)。公開キーテキストには3つの\ n文字も含まれているため、テキストボックスで公開キーテキストが次の行に3回ぶつかります。SSH RSA Key

40
James Lawruk

私はいくつかの方法を試してみましたが、どれも役に立ちません(私のosはubuntuです)。次に、コマンド「more」を使用して〜/ .ssh/id_rsa.pubの内容を印刷できるかどうかを考えました。

画像を投稿する評判がありません。私が持っているとき、私はそれを投稿します!

画像を表示できるURLは次のとおりです。

enter image description here

コマンドラインからコンテンツをコピーしましたが、うまくいきました!!!

13
Sparks_Fly

Windowsでは、

キーファイルからネイキッドキーデータをコピーして、新しい行を削除します。問題を解決するためにダイアログボックスに以下のことを書いてください。 ssh-rsaキー

注:ssh-rsaとキーの間にスペースがあります

これで完了です。

3
user3497443

実際にid_rsa.pubキーのコンテンツを(1行で)コピーした場合、結果は( GitHub sshヘルプページ から)のようになります。

ssh key

OP louismconfirms コピーアンドペーストの問題:

  • 非常にあいまいな理由で、emacsからのcopy-pastingはssh-rsaの後に\nを削除し、それが問題の原因でした。
  • viからのコピー&ペーストで問題が解決しました
2
VonC

将来的に見ている人のために、もう1つの一般的な問題は、ワードラッピングです。たとえば、cat ~/.ssh/id_rsa.pub行を折り返す可能性があるため、追加の\文字が各改行にあります。これらを削除すると、キーは正常に機能するはずです。

2
Curtis Homan

推奨byGitHub

SSH-KEYのコピー:

xclipと連携して、id_rsa.pubキーをコピーしました。

1. xclipをインストールします

Sudo apt-get install xclip

2. xclipでコピーします

xclip -sel clip < ~/.ssh/id_rsa.pub


がんばろう。

2
Akash

端末(Cmder/ConEmu)から直接cat出力から公開鍵をコピーしても、同じ問題が発生していました。公開鍵をコピーするために使用する方法は違いがあるようです。確認する方法は次のとおりです。

$ ssh-keygen -l -f ~/.ssh/id_rsa.pub
4096 SHA256:...

次に、失敗したキーを新しいファイルに貼り付けて、次のことを確認してください。

$ ssh-keygen -l -f test.pub
test.pub is not a public key file.

私の場合、cat;を使用して端末出力からキーをコピーしていました。代わりに、vimからキーを取得できました。 Wordラップを有効にしてvimでキーを開く方法は次のとおりです。

$ vim "+set wrap" ~/.ssh/id_rsa.pub

Terminal.appでこの問題が発生していないので、ターミナルエミュレータmayに何か関係があると思います。

1
James

私はこれが質問がcpl歳であると知っていますが、2018年に誰かがこれに遭遇した場合: 

以下は簡単です:

私の問題は、秘密鍵をコピーしようとしたことです

id_rsa

公開鍵コンテンツの代わりに

id_rsa .pub

私のSSH gitlabリポジトリキーとして、あなたの後に:

ssh-keygen -t rsa -C "[email protected]" -b 4096

コピー元の。pubファイル拡張子について覚えておいてください。

  • [〜#〜] osx [〜#〜]

pbcopy <〜/ .ssh/id_runmyprocess_rsa .pub

  • Linux

xclip -sel clip <〜/ .ssh/id_rsa .pub

  • Windows PowerShell

cat〜/ .ssh/id_rsa .pub |クリップ


それをgitlab/githubまたは他のリポジトリにSSHキーとして貼り付けます

秘密鍵ではなく、常に公開鍵のみを共有する必要があるためです。

1
Piotr Z

私の場合、電子メール(キー文字列全体)が受け入れられる前に、余分な白いルールを追加する必要がありました。 Gitlabで入力したsshキーをコピーしようとした後、偶然これを見つけました。

コマンドラインからのpubキーストレートからのpbcopyは機能しませんでした。最後に余分な白いルールを付けたgitlabからのコピーがトリックを行いました。

0
stijndmd

Sublimeを使用している場合、ssh-keyを正しく表示できます。 id_rsa.pubがあるかどうかを確認します

ls -al ~/.ssh

配置されている場合は、崇高なテキストで開きます

Sudo subl /home/user_name/.ssh/id_rsa.pub

次に、公開sshキーをコピーして貼り付けます。

0

この問題が発生しました。とてもイライラします。私は自分の状況が問題の原因に影響を与えているかもしれないと考えました。タブレットを使用して、タブレットブラウザー(Chrome)を介してgithubsサイトでキーをセットアップしようとし、リモートLinuxサーバーに接続されたsshアプリからキーをコピーしています。

最終的に起こったことは、どうにかしてキーをブラウザにコピーしたときに、いくつかの改行が導入されたことです。それだけでなく、新しい行が挿入された各ポイントから文字を削除しました。

そのため、それを機能させるには、新しい改行を手動で見つけてから、キーのその部分を探して行方不明の文字を見つける必要がありました。その後、キャラクターを追加し、新しい行を削除しました。すべての変更を追い詰めた後、キーは正常に機能しました。

ちなみに、ssh-rsaの後に他の人が言及したような、新しい改行を自分で追加しませんでした。

これが他の人の助けになることを願っています。なぜ起こったのか分かりません。クリップボードにコピーすると、コピーされたテキストが変更されるという愚かなことです。ああ、私もVimからコピーしました。

0
Jordan

ターミナルとしてWindowsのbashを使用していて、Shift +ハイライト+ ctrl-cを使用してコピーしている場合、この解決策が役立つ場合があります。

  1. キーをコピーしてメモ帳に貼り付けた後:

example ssh key

  1. [編集]> [すべて選択]またはCtrl-Aに移動します。

text highlighted

  1. 大量の青い領域は空白です。バックスペースまたは削除キーでそれらを削除する必要があります。緑色の円内の空白はそのままにします。

enter image description here

  1. これで、この編集したバージョンをコピーしてgithubに貼り付けることができるはずです。

enter image description here

0
Isaac Pak