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

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

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

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

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

Q&A

解決済

2回答

1164閲覧

GitHubとSSHで通信する方法を教えてください。

sassan738

総合スコア32

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

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

0グッド

0クリップ

投稿2021/06/30 12:07

編集2021/06/30 12:18

○現在の状況
職場のGitHubリポジトリとのやり取りを今までHTTPSで行なっていのをSSHで行うように変更したいのですが、うまくいきません。

○試したこと
githubの複数アカウントにSSH接続するための設定手順
という記事を参考に以下を実行しました。
・私の個人のGitHubアカウントへのSSHパブリックキーの登録(プロジェクトへのコミットはこちらのアカウントを使用しています。)
・~/.ssh/configファイルの編集(以下を追記しました)

Host github-個人のGitHubアカウント名 User git Port 22 HostName github.com IdentityFile ~/.ssh/id_rsa_example // 便宜上exampleとしています TCPKeepAlive yes IdentitiesOnly yes

ssh-add ~/.ssh/id_rsa_exampleコマンドを実行
・プロジェクトのローカルリポジトリでgit remote add origin git@github.com:職場のGitHubアカウント名/プロジェクトのリポジトリ名.gitを実行してリモートリポジトリのURLを変更

プロジェクトのローカルリポジトリでgit pull origin mainを実行すると以下のようなエラーメッセージが返ってきます。

ERROR: Repository not found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

GitHubとの通信は成功します。ssh -T git@github.com 

Hi 私の個人のGitHubアカウント名! You've successfully authenticated, but GitHub does not provide shell access.

ここまで書いて思ったのですが、SSHの公開キーを登録する先は、私の個人のGitHubアカウントではなくて、職場のGitHubアカウントにしないといけませんか?

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

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

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

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

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

guest

回答2

0

自己解決

ssh-add -lコマンドを実行してsshエージェントに登録されている秘密鍵を出力した時に、今回作成した~/.ssh/id_rsa_exampleの秘密鍵以外にもう一つ既存の鍵が表示されていたので、そちらをssh-add -dコマンドで削除するとGitHubとのやり取りができるようになりました。
本来は既存の鍵と新たな鍵を併用できるようにするべきだと思いますが、一旦問題が解決したので解決済みにしたいと思います。

投稿2021/07/01 03:01

sassan738

総合スコア32

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

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

0

google翻訳
Hi 私の個人のGitHubアカウント名! 認証に成功しましたが、GitHubはシェルアクセスを提供していません。

とのことです

投稿2021/06/30 13:09

y_waiwai

総合スコア87719

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

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

sassan738

2021/06/30 13:16

回答いただきありがとうございます。 but GitHub does not provide shell access. というメッセージなのですが、確か私の別の個人用のアカウントにsshキーを登録して、```ssh -T git@github.com```を実行した時にも表示されてたと思うんです。 でもそちらのアカウントとはsshで通信できてるんですよね。
y_waiwai

2021/06/30 13:19

どう通信してるんでしょうか Githubの使い方を間違えています
y_waiwai

2021/06/30 13:31

あなたのその通信ってのが、リポジトリではなく、Githubに対してになってるのでそのエラーになってます。 きちんとリポジトリを指定してあげましょう。
sassan738

2021/06/30 13:39

リポジトリの指定なのですが、ローカルリポジトリでgit remote add originコマンドを実行してssh用のURLは登録しているんです。 現在疑っているのは、sshの公開キーを登録する先が私の個人アカウントではなくて、リモートリポジトリのある職場のアカウントでないといけないのではないかということなのですが、それについてどう思われますか? 何度もすみません。
y_waiwai

2021/06/30 13:45 編集

そのリポジトリがあるアカウントでないとアクセスできません そのリポジトリはどこにあるんでしょうか ssh用のURLってのはどのアカウントのURLなんでしょう
sassan738

2021/06/30 13:52 編集

ssh用のURLは職場のアカウントにあるリポジトリのURLです。 git@github.com:typeorm/typeorm.git 上記のような書式のssh用のURLです。 それで、私がsshパブリックキーを登録した先は私の個人アカウントです。 なのでsshキーを登録するアカウントが間違っていたということですよね?
y_waiwai

2021/06/30 13:58

そんでもSSH通信自体はいけてそうなメッセージですけどねー
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問