🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

3回答

25123閲覧

GithubにSSH認証できない

lilly.com

総合スコア4

公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

SSH

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

2クリップ

投稿2021/02/22 06:33

編集2021/02/22 06:34

環境

macOS High Sierra Ver. 10.13.6

つまづき

SSHキーを作成して認証してみました。

$ ssh -T git@github.com You've successfully authenticated, but GitHub does not provide shell access.

pushしようとしてユーザー名とパスワードを入力すると

remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/****/

と出てきます。

shell access以外にも認証において問題があるのでしょうか。

解決方法を見つけることができなかったのですが、どうすれば良いのでしょうか。

試したこと

1.confingファイルの確認

$ ssh -T git@github.com no such identity: /Users/****/.ssh/id_rsa: No such file or directory git@github.com: Permission denied (publickey).

↑これが出た時はconfigファイルを確認すべき(step4)とのことで、configファイルを開けて

Host github github.com HostName github.com AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa User git

となっていて問題なさそうなのでそのままにしました。

2.ファイル名の変更

ここで、今回か前回(一度同様にうまくいかなくて認証鍵を消して作り直しました。)SSHキーを作った時にあるページを参考にファイルの名前を変えていたことを思い出したので、ファイル名をgithub_id_rsaとgithub_id_rsa.pubに変更しました。
名前がid_ed(数値).pubなどというようになっていました。

-T github -bash: -T: command not found

どこかで間違っているのでしょうか。これ以上自分で触って複雑になると大変そうなので、一同質問させていただきました。

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

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

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

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

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

guest

回答3

0

You've successfully authenticated, but GitHub does not provide shell access.

このメッセージが出るという事は、SSHでの認証は成功しています。
なのでgit pushでエラーが出るのは他の部分に問題があります。

remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/****/

このメッセージを見るにgit cloneでhttpsのURLを指定しましたね。
この場合はGitHubへはSSHを使わずにHTTPSでアクセスし、そこで認証が失敗しています。

対処としては、以下の二つが考えられます。

  • HTTPSで認証が行えるようにする
  • GitHubへのアクセス方法をSSHに変更する

GitHubのHTTPSでの認証方法

git push する時に以下のようにユーザ名とパスワードを聞かれるので、正しいユーザ名とパスワードを入力します。

Username for 'https://github.com': Password for 'https://username@github.com':

HTTPSでアクセスする場合、GitHubへのログインで二段階認証を使っているかいないかで入力するパスワードが変わります。

二段階認証を使っていない場合

パスワードにはWebでGitHubにログインする時のパスワードを入力します。
ただしこの方法はGitHubでは推奨されておらず将来的に廃止される予定なので、二段階認証を使っている場合と同じようにPATを使う方がいいでしょう。

二段階認証を使っている場合

個人アクセストークン(PAT)という物を生成し、パスワードを聞かれた時にそのPATを入力します。
PATの生成方法はGitHubのマニュアルを読んで下さい。

PATは長くて覚えにくい文字列な上、生成した時のみしか表示されないので、毎回入力するのは難しいでしょう。
なので、一度入力した認証情報をキャッシュして以降入力しないですむように設定する事をお勧めします。
この設定方法は使っているPCのOSによって変わります。
私はmacOSを使っていないので説明できないので、GitHubのマニュアルを読んで設定して下さい。

GitHubへのアクセス方法をSSHに変更する

最初に書いたようにssh -T git@github.comを実行した時に

You've successfully authenticated, but GitHub does not provide shell access.

と出るのならばSSHでのアクセスは成功しているので、gitコマンドでのGitHubへのアクセス方法をSSHに変更すればそれだけでgit pushが行えるようになると思います。

GitHubへのアクセス方法をSSHに変更するには、例えばgit cloneした時のURLがhttps://github.com/username/reponame.gitだった場合は以下のコマンドを実行してください。

git remote set-url origin git@github.com:username/reponame.git

投稿2021/02/25 10:37

編集2021/02/25 10:45
doda

総合スコア947

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

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

0

google翻訳
認証に成功しましたが、GitHubはシェルアクセスを提供していません。

書いてあるとおり、Githubはsshでアクセスするようなところではありません
あくまで、Gitのサーバです。

「Github 使い方」でぐぐれば解説がたくさん出てくるので、それをよく読んでみてください

投稿2021/02/22 07:13

y_waiwai

総合スコア88038

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

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

0

You've successfully authenticated, but GitHub does not provide shell access.

SSHの用途としては、記事「SSHの公開鍵ってなに?」の「SSHについておさらい」を一度ご覧いただきたいのですが、良くあるのは一番目の「遠隔ログイン」です。
しかし、githubが想定しているのは二番目の「遠隔コマンド実行」かつ、その中でもgit関連操作に限定しているものです。なので、単に ssh コマンドでアクセスすると、それは一番目の「遠隔ログイン」を想定したものということで拒否されます。( 認証が通ったことだけ分かる )

あくまで、gitコマンドやgitをサポートするツールの裏方としてsshが動きますので、認証確認の意味以外でsshを直接実行してgithubに対して何かするということはないです。

投稿2021/02/22 09:07

angel_p_57

総合スコア1681

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問