質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

3回答

3686閲覧

SSH 「ssh -T git@github.com」を入れると、「Permission denied (publickey)」が返ってくる

Marina_

総合スコア14

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

0グッド

0クリップ

投稿2021/08/17 08:33

編集2021/08/17 09:43

目的:
GitHubに接続すること

環境:
・macOS Big Sur 11.4
・Pleiades All in One(Eclipse 2019-12)
・MySQL 8.0.25
・DBeaver 21.1.0

こちらの記事に従って作業を行いました。
・一番最後の項目[事後確認・作業]の直前までは、上手くいきました。
・[事後確認・作業]で下記エラーが出てしまいました。

txt

1marina@MarinanoMBP ~ % ssh -T git@github.com 2Warning: Permanently added the RSA host key for IP address '13.114.40.48' to the list of known hosts. 3git@github.com: Permission denied (publickey).

試したこと
Permission denied (publickey).で検索して下記2点試しました。

1)https://qiita.com/katsukii/items/c3df0653ac07d41fe03f
「これでもダメな場合」に載っている内容をconfファイルに追記しましたが、追記した行がエラーの対象になってしまいました。
mgoto@MarinanoMBP ~ % ssh -T git@github.com
/Users/marina/.ssh/config: line 5: Bad configuration option: permitrootlogin
/Users/marina/.ssh/config: line 8: Bad configuration option: permitemptypasswords
/Users/marina/.ssh/config: terminating, 2 bad configuration options

2)https://qiita.com/youcune/items/2f427979403771f2e03a
まずログを見る、と書いてあったので、/var/log/secureをPC全体で検索しましたが、見つかりませんでした。
(ターミナルで、「find / -name system.log」を実行しました。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/17 08:40

そもそも何がしたいのでしょうか?GitHubへの接続?EC2(Amazon linux) への ssh?
Marina_

2021/08/17 08:42

te2jiさん GitHubに接続したいです。
shinami

2021/08/17 11:10

.sshフォルダにある鍵ファイルはid_rsaとid_rsa.pubですか? ※隠しファイルのようですのでcommand + shift + .(ピリオド)で隠しフォルダやファイルを表示できます。 configファイル内は、 IdentityFile ~/.ssh/id_rsa ですか?それとも IdentityFile ~/.ssh/id_rsa_github ですか? configファイル内のHostはgithubですか?であるなら ssh -T github ではどうでしょう。
shinami

2021/08/17 11:27 編集

参考にされているサイトでは、id_rsa_githubであるのに対しid_rsaファイルが作られていないかなと。 id_rsaで良いんですよ。 IdentityFile ~/.ssh/id_rsa_github ではなく IdentityFile ~/.ssh/id_rsa にすれば良いと思うので。
Marina_

2021/08/17 22:46 編集

ありがとうございます。 shinamiさんがご提案くださった「ssh -T github」で通りました! 下記、不要かもしれませんが、念の為、いただいた質問への回答も記述いたします。 ①.sshフォルダにある鍵ファイルは、「id_rsa_github」と「id_rsa_github.pub」です。(「github」という名前は、qiitaの記事を読んで自分でつけました。) そのほかには、「known_hosts」と「config」が入っています。 ②configファイル内は、「IdentityFile ~/.ssh/id_rsa_github」です。 Host github HostName github.com IdentityFile ~/.ssh/id_rsa_github User git ③configファイル内のHostはgithubですか? >はい。 ④参考にされているサイトでは、id_rsa_githubであるのに対しid_rsaファイルが作られていないかなと。 id_rsaで良いんですよ。 >そうでしたか。。別のサイトでは、githubとついていなくて、読み替えるのが面倒でした。 複数参照してから名前をつけるようにします。 ご指導いただき、ありがとうございます。
Marina_

2021/08/17 22:43

shinamiさん もしお手間でなければなのですが、shinamiさんの上記ご回答をベストアンサーとして登録したいので、回答の方にご記載いただいてもよろしいでしょうか?
shinami

2021/08/18 01:59

そうですか、ありがとうございます。一応まとめて回答欄に書いておきました。
guest

回答3

0

ベストアンサー

id_rsa_githubとid_rsa_github.pubであるならconfigファイル内に

config

1IdentityFile ~/.ssh/id_rsa_github

id_rsaとid_rsa.pubであるならconfigファイル内に

config

1IdentityFile ~/.ssh/id_rsa

と書いてある必要がある。

そして、ssh -T git@github.comを実行し、git@github.com: Permission denied (publickey).となるならconfigファイル内を確認し

config

1Host github

としているならssh接続の確認にssh -T githubとする事でsshテスト接続をする事ができる。

ssh -T github Hi username! You've successfully authenticated, but GitHub does not provide shell access.

リモート接続設定は、

git remote add origin github:githubアカウント名/githubリモートリポジトリ名.git

とする事でpushできる様になる。

config

1Host setsuzoku2

なら

ssh -T setsuzoku2 git remote add origin setsuzoku2:githubアカウント名/githubリモートリポジトリ名.git

とそれぞれ実行する事でsshテスト接続やpushをする事ができる。

また、github docs 新しい SSH キーを生成するによるとrsaでなくed25519アルゴリズムを使う方が推奨されている様です。

ssh-keygen -t ed25519

注釈: Ed25519 アルゴリズムをサポートしないレガシーシステムを使用している場合は、以下を使用します。

$ ssh-keygen -t rsa

投稿2021/08/18 01:58

編集2021/08/18 02:13
shinami

総合スコア334

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Marina_

2021/08/18 10:04

shinamiさん ご教授いただき、ありがとうございます。 補足でed25519アルゴリズムまで入れていただき、勉強になりました。
guest

0

読んでる記事が的外れです。
こちらを参考にすると良いです。
GitHub に SSH で接続する - GitHub

デバッグが必要なら、こちらも
(PuTTYの入った) windows 環境で GitHub を ssh で使用する場合の注意 #Git のデバッグ

投稿2021/08/17 08:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Marina_

2021/08/17 09:38 編集

te2jiさん ご教示いただき、ありがとうございます。 一つ目にお送りいただいたリンクから、今回のエラーのページに飛び、下記の通り、現状どの解決方法が使えそうか記述しました。 https://docs.github.com/ja/github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey#verify-the-public-key-is-attached-to-your-account ①Should the sudo command be used with Git? You should not be using the sudo command with Git. If you have a very good reason you must use sudo, then ensure you are using it with every command (it's probably just better to use su to get a shell as root at that point). →sudoは使っていない ②Check that you are connecting to the correct server Typing is hard, we all know it. Pay attention to what you type; you won't be able to connect to "githib.com" or "guthub.com". →コピペしたのでタイプミスはない。 ③Always use the "git" user All connections, including those for remote URLs, must be made as the "git" user. If you try to connect with your GitHub username, it will fail: →gitを使った(記事でもgitだったので) ④Make sure you have a key that is being used →2つ目のコマンド後の反応がおかしい。The agent has no identities.と出てきてしまう。 Verify that you have a private key generated and loaded into SSH. # start the ssh-agent in the background $ eval "$(ssh-agent -s)" > Agent pid 59566 $ ssh-add -l -E sha256 > 2048 SHA256:274ffWxgaxq/tSINAykStUL7XWyRNcRTlcST1Ei7gBQ /Users/USERNAME/.ssh/id_rsa (RSA) The ssh-add command should print out a long string of numbers and letters. If it does not print anything, you will need to generate a new SSH key and associate it with GitHub.
Marina_

2021/08/17 09:37

④がリンクと異なる反応が返ってきたので、 https://qiita.com/unsoluble_sugar/items/14bea376d8e6fce82eb3 を参照して、ssh-agentに秘密鍵を登録からやり直しましたが、同じエラーでした。 そもそも、このリンクに書いてあるドルマークは、私が触っている下記ディレクトリと異なるのでしょうか。 marina@MarinanoMBP .ssh %
退会済みユーザー

退会済みユーザー

2021/08/17 10:15

.ssh/config に入れた余計な設定は消しましたか? 余計な設定の削除後、鍵の再作成も含めてリンクで紹介した GitHub サイトの通りにしてみてください。 ちなみに、GitHub サイトの説明は日本語に変更できてます。
Marina_

2021/08/17 10:36

①日本語に変更する右側のタブで設定できなかったのですが、このくらいのエラーなら仰る通り日本語で出てくるのではと思います。 大変申し訳ないのですが、試してみていただけないでしょうか。 https://docs.github.com/ja/github/authenticating-to-github/troubleshooting-ssh/error-permission-denied-publickey#verify-the-public-key-is-attached-to-your-account ②.ssh/configに入れた余計な設定は削除済みです。 ③再度行うため、公式サイトの上からやってみました。 https://docs.github.com/ja/github/authenticating-to-github/connecting-to-github-with-ssh 既存の SSH キーの確認→先ほど作ったSSHキーの存在が確認できた。 GitHub アカウントへの新しい SSH キーの追加→先ほど作った時に追加済み SSH 接続をテストする→-T git@github.com を実行するとPermission denied (publickey). と返ってくる(このteratailの質問と同じエラーになる) 先ほどはqiitaの記事に従って行ったので、公式サイトで再度行うことに意義がありましたが、 公式サイトの方法で今行ってダメだったことから、同じことを再度行っても、同じ結果になりそうです。 エラーを特定しなければいけないと思います。
shinami

2021/08/17 12:12

configファイルに IdentitiesOnly yes を追加してみたらどうなりますか?
guest

0

Permission denied (publickey)

ってのは、接続鍵が間違ってるか、接続鍵の設定が間違ってるときに出ます
そこらへん見直してみよう

投稿2021/08/17 08:43

y_waiwai

総合スコア88163

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/08/17 08:52

Linuxの場合(MacOSもそうだと思うけど)秘密鍵のパーミッションが違ってもそれが出ます。 ちと見落としやすいとこなんで確認を(600やったかな)
Marina_

2021/08/17 09:45

ご教授いただき、ありがとうございます。 パーミッション含め、全ての設定を記事の通り設定しています。 $ chmod 600 id_rsa 全て設定していて自分だけできないはずがないので、何かおかしいのだと思いますが。 参照した記事(今年4月末に更新されたもの) https://qiita.com/0ta2/items/25c27d447378b13a1ac3 今回そのおかしさがわかったら、今後の教訓にします。
y_waiwai

2021/08/17 10:04

githubに対応する公開鍵を設定してありますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問