4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2でSSHが使えない問題、実はネット環境に問題アリ…?

Last updated at Posted at 2023-08-02

はじめに

お疲れ様です! @Keichan_15 です!

WSL2の環境構築後、 Git を使用する際にお世話になるであろう SSH

ただ、WSL2上で git clone しても反応が無く、永遠にリモートリポジトリから clone できない事象が存在するようです。
そう、筆者もその1人でございました。:frowning2:

WSL2でも sshgit clone したい…。その夢、私が叶えましょう!!

ちなみに、本記事は過去執筆である 簡単!WSL2でRails6(Ruby3系)の環境を構築してVSCodeからrails newするまでのTips♪ の関連記事になります!
良かったらこちらも見てみてね!:ok_hand:

環境

  • WSL2(Windows11)
  • GitHub

問題

やっとWSL2の環境構築できた…!GitHubから既存リポジトリ引っ張ってこよう…!

Ubuntu
$ git clone "your repository url"

image (2).png

ん?? sshgit clone できんな…。
念のためGitHubと接続できているか確認してみようっと。

Ubuntu
$ ssh git@github.com

image (3).png

接続はできてるっぽいな…。ならナゼ clone で事故るんだい??

ちなみに -T 付だと通りません。謎やないか。

Ubuntu
$ ssh -T git@github.com

image (4).png

鍵の再登録やgitの再インストールなども試みたんですが、 git clone するとやはり止まる…。

原因

デバッグしてみます。

Ubuntu
$ ssh -vT git@github.com

image.png

ザーッと表示されるのですが、以下の部分で止まってしまいます。

keichan@DESKTOP-3KA7A7J:~/rails$ ssh -vT git@github.com
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f  31 Mar 2020
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to github.com [20.27.177.113] port 22.
debug1: Connection established.
debug1: identity file /home/keichan/.ssh/id_rsa type 0
debug1: identity file /home/keichan/.ssh/id_rsa-cert type -1
debug1: identity file /home/keichan/.ssh/id_dsa type -1
debug1: identity file /home/keichan/.ssh/id_dsa-cert type -1
debug1: identity file /home/keichan/.ssh/id_ecdsa type -1
debug1: identity file /home/keichan/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/keichan/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/keichan/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/keichan/.ssh/id_ed25519 type -1
debug1: identity file /home/keichan/.ssh/id_ed25519-cert type -1
debug1: identity file /home/keichan/.ssh/id_ed25519_sk type -1
debug1: identity file /home/keichan/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/keichan/.ssh/id_xmss type -1
debug1: identity file /home/keichan/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
debug1: Remote protocol version 2.0, remote software version babeld-dc5ec9be
debug1: no match: babeld-dc5ec9be
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: ecdsa-sha2-nistp256
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: ecdsa-sha2-nistp256 SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM
debug1: Host 'github.com' is known and matches the ECDSA host key.
debug1: Found key in /home/keichan/.ssh/known_hosts:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /home/keichan/.ssh/id_rsa RSA SHA256:tX6ItthGdYhSAoxko+Hbxkdh3oBAQlMW7M591zkXNhY
debug1: Will attempt key: /home/keichan/.ssh/id_dsa
debug1: Will attempt key: /home/keichan/.ssh/id_ecdsa
debug1: Will attempt key: /home/keichan/.ssh/id_ecdsa_sk
debug1: Will attempt key: /home/keichan/.ssh/id_ed25519
debug1: Will attempt key: /home/keichan/.ssh/id_ed25519_sk
debug1: Will attempt key: /home/keichan/.ssh/id_xmss
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256,ssh-rsa>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/keichan/.ssh/id_rsa RSA SHA256:tX6ItthGdYhSAoxko+Hbxkdh3oBAQlMW7M591zkXNhY
debug1: Server accepts key: /home/keichan/.ssh/id_rsa RSA SHA256:tX6ItthGdYhSAoxko+Hbxkdh3oBAQlMW7M591zkXNhY
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([20.27.177.113]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Sending environment.
debug1: Sending env LANG = C.UTF-8

https でも良いんですが、どうしても ssh でやりたいんですよね。

解決方法

全く同じ事象に遭遇している方がいました。

どうやらサーバー側から応答が返って来ておらず、途中でパケットが落ちてしまって通信が出来ない模様。

早速、 ssh-keygen で作成される .ssh フォルダに config ファイルを作成します。

作成した config ファイル内に以下の記述を追加します。

.ssh/config
Host *
  IPQoS lowdelay

再度 git clone できるか確認してみます。
image (5).png

出来てますね!:raised_hands:

ちなみに気になって色々調べたところ、1つ気になる記事を発見しました。

どうやらフレッツ光回線をIPv6環境で使用していると、IPv6のDSCP値によってパケットが落ちてしまう事象があるみたく、これが原因でSSH接続が出来ていなかったと推察。

ちなみに自宅はドコモ光(OCN)の OCNバーチャルコネクト(IPv4 over IPv6) に加入していました。これやったんか…。

おわりに

てっきりWSL2のみでしか SSH での git clone が出来なかったので、自宅ネット環境に問題が有ることに疑いの目を持たなかったのがマズかった…。

多方面から原因を分析することが大事であることを学びました。

終わり。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?