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

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

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

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

SSH

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

GitHub

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

解決済

【git】sshでcloneするとエラーになる

Satumaimo10
Satumaimo10

総合スコア6

Git

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

SSH

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

GitHub

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

2回答

0評価

2クリップ

8403閲覧

投稿2020/03/27 12:26

編集2020/04/02 11:26

前提・実現したいこと

sshでgithubからcloneしたい

発生している問題・エラーメッセージ

Ubuntuでgitを利用しています。

以前までは問題なくsshでcloneができていたのですが、
先日githubからリポジトリをcloneしようとしたところ、30分ほど処理が止まったのち、以下のエラーメッセージが表示されるようになりました。

$ git clone git@github.com:(ユーザー名)/(リポジトリ名).git Cloning into '(リポジトリ名)'... Connection to github.com closed by remote host. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

また、以前まで問題なく利用できていたローカルリポジトリからpushを試みたところ、
同様に30分ほど処理が止まり、その後エラーメッセージが表示されました。

$ git push Connection to github.com closed by remote host. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

試したこと

  • 鍵の再登録やPCの再起動などを試したが、効果はなかった。
  • 別のリポジトリや、新たに作成したリポジトリでcloneを試しても同様にエラーが発生した。
  • sshの認証はできた。
$ ssh github.com PTY allocation request failed on channel 0 Hi (ユーザー名)! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.comSclosed.
  • https経由であればcloneできる。
$ git clone https://github.com/(ユーザー名)/(リポジトリ名) Cloning into '(リポジトリ名)'... remote: Enumerating objects: 20, done. remote: Total 20 (delta 0), reused 0 (delta 0), pack-reused 20 Unpacking objects: 100% (20/20), done.

自分の調べた範囲では同様の症状が見つからず、ご質問させて頂きました。
エラーの原因についてわかる方がいましたら、ご回答頂けると幸いです。

補足情報

Ubuntu 18.04.4 LTS

git version 2.17.1

3/28追記

Host github.com github HostName github.com User git IdentityFile "~/.ssh/id_github_rsa"
  • GIT_TRACE=true で接続したところ、
$ GIT_TRACE=true git clone git@github.com:Satumaimo10/fibonacci.git 11:01:25.182599 git.c:344 trace: built-in: git clone git@github.com:Satumaimo10/fibonacci.git Cloning into 'fibonacci'... 11:01:25.184874 run-command.c:646 trace: run_command: unset GIT_DIR; ssh git@github.com 'git-upload-pack '\''Satumaimo10/fibonacci.git'\'''

上記の出力が出てから30分ほど経過したのち、

Connection to github.com closed by remote host. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

同様のエラーが出力された。

以下のように鍵を作り直してみたが、cloneを実行したところ同様のエラーが発生した。

ssh-keygen -f "new_github_rsa" -t rsa -b 4096 -C "(メールアドレス)" eval "$(ssh-agent -s)" ssh-add ~/.ssh/new_github_rsa
Host github.com github HostName github.com User git IdentityFile "~/.ssh/new_github_rsa"

#3/30追記

  • ssh git@github.com -v の出力結果を以下に記載しました。
$ ssh git@github.com -v OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /home/(ユーザー名)/.ssh/config debug1: /home/(ユーザー名)/.ssh/config line 1: Applying options for github.com debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to github.com [52.69.186.44] port 22. debug1: Connection established. debug1: identity file /home/(ユーザー名)/.ssh/new_github_rsa type 0 debug1: key_load_public: No such file or directory debug1: identity file /home/(ユーザー名)/.ssh/new_github_rsa-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 debug1: Remote protocol version 2.0, remote software version babeld-2de4da3d debug1: no match: babeld-2de4da3d debug1: Authenticating to github.com:22 as 'git' debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: rsa-sha2-512 debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ssh-rsa SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 debug1: Host 'github.com' is known and matches the RSA host key. debug1: Found key in /home/(ユーザー名)/.ssh/known_hosts:4 debug1: rekey after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey after 134217728 blocks debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,rsa-sha2-512,rsa-sha2-256,ssh-dss> debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: RSA SHA256:q1BYo5TGSROxOczENTk/el1aBZs/phEC1eEVhAurE+0 /home/(ユーザー名)/.ssh/new_github_rsa debug1: Server accepts key: pkalg ssh-rsa blen 535 debug1: Authentication succeeded (publickey). Authenticated to github.com ([52.69.186.44]:22). debug1: channel 0: new [client-session] debug1: Entering interactive session. debug1: pledge: network debug1: Sending environment. debug1: Sending env LANG = ja_JP.UTF-8 PTY allocation request failed on channel 0 debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 Hi Satumaimo10! You've successfully authenticated, but GitHub does not provide shell access. debug1: channel 0: free: client-session, nchannels 1 Connection to github.com closed. Transferred: sent 3752, received 2504 bytes, in 0.4 seconds Bytes per second: sent 10532.7, received 7029.3 debug1: Exit status 1
  • 今回の問題と関係あるかは分からないのですが、 -T オプションを付けてssh git@github.comを実行するとcloneしたときと同様に30分ほど止まってからエラーが発生することを確認しました。
$ ssh -T git@github.com Connection to github.com closed by remote host.

また、-T -v オプションを付けて実行すると、

$ ssh -vT git@github.com OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /home/(ユーザー名)/.ssh/config debug1: /home/(ユーザー名)/.ssh/config line 1: Applying options for github.com debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to github.com [13.114.40.48] port 22. debug1: Connection established. debug1: identity file /home/(ユーザー名)/.ssh/new_github_rsa type 0 debug1: key_load_public: No such file or directory debug1: identity file /home/(ユーザー名)/.ssh/new_github_rsa-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 debug1: Remote protocol version 2.0, remote software version babeld-2de4da3d debug1: no match: babeld-2de4da3d debug1: Authenticating to github.com:22 as 'git' debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: rsa-sha2-512 debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ssh-rsa SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 debug1: Host 'github.com' is known and matches the RSA host key. debug1: Found key in /home/(ユーザー名)/.ssh/known_hosts:4 debug1: rekey after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey after 134217728 blocks debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,rsa-sha2-512,rsa-sha2-256,ssh-dss> debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: RSA SHA256:q1BYo5TGSROxOczENTk/el1aBZs/phEC1eEVhAurE+0 /home/(ユーザー名)/.ssh/new_github_rsa debug1: Server accepts key: pkalg ssh-rsa blen 535 debug1: Authentication succeeded (publickey). Authenticated to github.com ([13.114.40.48]:22). debug1: channel 0: new [client-session] debug1: Entering interactive session. debug1: pledge: network debug1: Sending environment. debug1: Sending env LANG = ja_JP.UTF-8

ここで一旦処理が停止したのち、

debug1: client_input_global_request: rtype keepalive@openssh.com want_reply 1 debug1: channel 0: free: client-session, nchannels 1 Connection to github.com closed by remote host. Transferred: sent 3412, received 2308 bytes, in 780.3 seconds Bytes per second: sent 4.4, received 3.0 debug1: Exit status -1

このような結果が出力されました。

4/2追記

  • ホームディレクトリ内の .gitconfig と、エラーが発生する以前にsshでcloneしたリポジトリ内の .git/config の内容を以下に記載しました。

~/.gitconfig

[user] name = (ユーザー名) email = (メールアドレス) [color] ui = auto [core] editor = vim

(リポジトリ)/.git/config

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:Satumaimo10/my-first-node-js.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
  • GIT_SSH_COMMAND="ssh -vvv" git clone git@github.com:Satumaimo10/fibonacci.git を実行すると、

https://pastebin.com/sK7Q8PNq

ここまでの出力が出てから30分ほど止まったのち、

https://pastebin.com/LZULMbau

このように出力されて終了しました。
(文字数制限のため、一部内容を外部サイトに記載しました。)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2020/03/27 15:33

https で繋がるならそれで良いのでは?
maai

2020/03/27 16:18

- gitの再インストールは試しましたか?(`sudo apt purge git` `sudo apt install git`) - 別アカウントでも同様ですか?(gitのアカウントを違うものにする・ubuntuでログインしているアカウントを別のものにする)
Satumaimo10

2020/03/27 17:47

コメントありがとうございます。 - hoshi-takanori さま 確かに実用上はhttpsでも良いのですが、httpsでは認証が煩わしい、勉強を兼ねてエラーの原因を知りたい、といった理由から今回の質問をさせて頂きました。 - maai さま ご指摘ありがとうございます。 先程ご指摘された点を試してみたのですが、gitの再インストール、ubuntuの別ユーザーでのclone、gitのアカウントの変更のいずれにおいても、同様のエラーが発生してしまいました。 gitのアカウントの変更については、git initであらかじめローカルリポジトリを作成し、そこでgit config --localで新たにuser.nameとuser.emailを設定した上でgit remote add, git pushする、という手順でgitのアカウントを変更する試みをしましたが、git pushした時点で同様のエラーが発生しました。
退会済みユーザー

退会済みユーザー

2020/03/27 21:41

エラーまで 30 分かかるってのがポイントなんでしょうけど、time out とか出ないんですよね? GIT_TRACE=true で接続したときの log も確認してみてもらえますか?
Satumaimo10

2020/03/28 03:10 編集

- hoshi-takanori さま 参考になるサイトを紹介して頂き、ありがとうございます。 リンク先の質問を拝見したところ、鍵の参照の関係で ~/.ssh/config の Host を github.com, github の両方で設定するのが解決策になると解釈しました。 しかし、自分の ~/.ssh/config では既に以下のように2つのHostを設定しておりました。 ``` Host github User git HostName github.com Port 22 IdentityFile ~/.ssh/id_github_rsa Host github.com User git HostName github.com Port 22 IdentityFile ~/.ssh/id_github_rsa ``` 念の為、リンク先を参考にして以下のように ~/.ssh/config を書き換えたのですが、やはりcloneしたところ同様のエラーが発生してしまいました。 ``` Host github.com github HostName github.com User git IdentityFile "~/.ssh/id_github_rsa" ``` ただ、間違えて IdentityFile を別の名前で設定した上でcloneしても正しい名前で設定したときと同様のエラーになったので、鍵の参照が上手くいっていない可能性はありそうです。 もう少し調べてみます。 - te2ji さま 現在のエラーの症状ですが、 ``` $ git clone git@github.com:(ユーザー名)/(リポジトリ名).git Cloning into '(リポジトリ名)'... ``` この時点で30分ほど止まったのち、 ``` Connection to github.com closed by remote host. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. ``` このようなエラーが出て処理が終わるという流れになっており、 time out などの出力はありませんでした。 また、GIT_TRACE=true を試したところ、 ``` $ GIT_TRACE=true git clone git@github.com:Satumaimo10/fibonacci.git 11:01:25.182599 git.c:344 trace: built-in: git clone git@github.com:Satumaimo10/fibonacci.git Cloning into 'fibonacci'... 11:01:25.184874 run-command.c:646 trace: run_command: unset GIT_DIR; ssh git@github.com 'git-upload-pack '\''Satumaimo10/fibonacci.git'\''' ``` この時点で30分ほど処理が止まったのち、 ``` Connection to github.com closed by remote host. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. ``` 同様のエラーが出力される結果となりました。
退会済みユーザー

退会済みユーザー

2020/03/28 03:17

よくわからんとこで止まってますね^^; 修正欄だと見ない人もいるので、質問に追記してみてください。
Satumaimo10

2020/03/28 04:17 編集

- te2ji さま ご指摘ありがとうございます。 修正欄で指摘された箇所を追記させて頂きました。 - yumetodo さま リンク先を参考に、以下のコマンドで鍵を作り直してみました。 ``` ssh-keygen -f "new_github_rsa" -t rsa -b 4096 -C "(メールアドレス)" ``` ~/.ssh/config と github の設定も合わせて修正した上でcloneを試みたのですが、やはり同様のエラーが発生してしまいました。
yumetodo

2020/03/28 06:15

それならssh git@github.com -vしてみてください
yumetodo

2020/03/29 11:42

> p.s. github の無料アカウントを複数作るのはよくないかも。 それ of それ
Satumaimo10

2020/03/29 15:33

確認が遅くなり申し訳ありません。 - hoshi-takanori さま リンク先を参考に git-add -D を実行してみたのですが、 その後cloneしたところ同様のエラーが発生してしまいました。 - yumetodo さま ssh git@github.com -v の結果を質問文に追記いたしました。
hoshi-takanori

2020/03/29 20:49

ssh -T -v git@github.com も試すべきでは。
Satumaimo10

2020/03/30 04:04

失礼いたしました。 ssh -T -v git@github.com の出力結果を質問文に追記しました。
yumetodo

2020/04/01 04:24

あれっ、最初のときに載せてるログには > Hi yumetodo! You've successfully authenticated, but GitHub does not provide shell access. みたいなのあるけど、今回もらったログにはない・・・?なんで? まあその他自分のとさほど変わらない感じ https://pastebin.com/3X2pLgYN
bsdfan

2020/04/01 11:17

.gitconfigはどうなってますか? また GIT_SSH_COMMAND="ssh -vvv" git clone git@github.com:Satumaimo10/fibonacci.git でどうなりますか
Satumaimo10

2020/04/02 11:28

- yumetodo さま 参考になるログを載せていただきありがとうございます! - bsdfan さま .gitconfig、および GIT_SSH_COMMAND="ssh -vvv" git clone git@github.com:Satumaimo10/fibonacci.git の実行結果について追記しました。ご参考になれば幸いです。
bsdfan

2020/04/02 12:24

ssh open confirm rwindow で検索すると、stackoverflowとかで、QoS云々でハングアップするようなことが書かれていますね(英語なのと専門外なので詳細不明) https://stackoverflow.com/questions/52415943 にあるのでうまくいったりしませんでしょうか。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Git

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

SSH

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

GitHub

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