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

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

詳細はこちら
Git

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

SSH

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

GitHub

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

Q&A

解決済

1回答

4410閲覧

GitHubへのSSH接続時、特定の条件の時のみ失敗(タイムアウト?)する

nnn-kakimoto

総合スコア1

Git

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

SSH

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

GitHub

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

0グッド

1クリップ

投稿2021/01/22 01:36

前提・実現したいこと

GitHubへSSHで接続し、pull/fetch/pushができる

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

GitHubへの接続自体はできているのですが、以下の条件の時のみ、なんの反応も返さず止まってしまいます。
コマンドの反応は以下の通りです。

ping 8.8.8.8 → 成功する
ping github.com → 成功する
ssh git@github.com → 成功する (Hi NNN-kakimoto! You've successfully authenticated, but GitHub does not provide shell access.)
ssh -vT git@github.com → 途中から進まなくなる(debug1: Sending env LC_TIME = ja_JP.UTF-8を出力して止まる)
また、この問題は自宅以外のネットワーク(テザリング, 職場などのwifi環境)では発生しない上、同じLANケーブルをデスクトップのwindows機に接続したときは普通に成功します。

マシン内のネットワーク設定が変に設定されている等が理由な気もするのですが、お手上げ感を感じたのでこちらに質問させていただきました。よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

  • thinkpad X230 Ubuntu18.04.5
  • git 2.30.0
  • wifi接続 / 有線LAN接続 変わらず
  • ブラウザ等のネットワークを使用するアプリ 利用できている

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

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

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

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

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

nnn-kakimoto

2021/01/22 02:17

コメントありがとうございます。 https://qiita.com/Mitsunori_Tsukada/items/6886f1f28d9485484822#ssh%E3%81%A7%E3%81%AE%E6%8E%A5%E7%B6%9A%E7%A2%BA%E8%AA%8D%E3%82%92%E3%81%97%E3%81%A6%E3%81%8A%E3%81%8F こちらのQiitaを見る限り鍵の認証は成功しているのではないかと思います。 他の複数のネットワークから接続するときも同じ鍵で成功していますので。。。 ちなみに~/.ssh/configにはgithub.comへの設定は記入していませんでした。
AbeTakashi

2021/01/22 02:29

なるほど、だとすると実際にリポジトリにアクセスして試したらどうなるのでしょうか? ssh -vT git@github.com をするのが目的はないですよね?
doda

2021/01/22 06:08

ssh -vT git@github.com の出力内容をすべて見せてください。 原因についてはある程度推測が付いていますが、対処方法を決めるのに出力が必要です。
doda

2021/01/22 06:18

必要な情報を出すには ssh -vvvT git@github.com が必要でした。ただ -vvv だと出力量が大きくなりすぎるので、以下の二つの情報をください。 ・ssh -vvvT git@github.com の出力で Authenticated to github.com より後の出力をすべて ・sshのバージョン(ssh -Vの結果)
nnn-kakimoto

2021/01/22 07:21

TakashiAbe さま リポジトリ内でgit pull 等を打つと1文字も出力することなく、プログラムが停止したようにカーソルがチカチカするだけの反応です。毎回ctrl + Cで停止しています。 doda さま 出力しました。`ssh -V`の結果は OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017 です。 ※下から4行目部分の「^C」で停止しています。 ``` debug1: Authentication succeeded (publickey). Authenticated to github.com ([2001:260:306:c::34c0:4859]:22). debug2: fd 6 setting O_NONBLOCK debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug3: send packet: type 90 debug1: Entering interactive session. debug1: pledge: network debug3: receive packet: type 91 debug2: channel_input_open_confirmation: channel 0: callback start debug2: fd 3 setting TCP_NODELAY debug3: ssh_packet_set_tos: set IPV6_TCLASS 0x08 debug2: client_session2_setup: id 0 debug1: Sending environment. debug3: Ignored env CLUTTER_IM_MODULE debug3: Ignored env LS_COLORS debug1: Sending env LC_MEASUREMENT = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env LESSCLOSE debug1: Sending env LC_PAPER = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug1: Sending env LC_MONETARY = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env XDG_MENU_PREFIX debug1: Sending env LANG = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env DISPLAY debug3: Ignored env PYENV_ROOT debug3: Ignored env GNOME_SHELL_SESSION_MODE debug3: Ignored env COLORTERM debug3: Ignored env USERNAME debug3: Ignored env XDG_VTNR debug3: Ignored env SSH_AUTH_SOCK debug3: Ignored env MANDATORY_PATH debug1: Sending env LC_NAME = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env XDG_SESSION_ID debug3: Ignored env USER debug3: Ignored env DESKTOP_SESSION debug3: Ignored env RBENV_SHELL debug3: Ignored env QT4_IM_MODULE debug3: Ignored env TEXTDOMAINDIR debug3: Ignored env GNOME_TERMINAL_SCREEN debug3: Ignored env DEFAULTS_PATH debug3: Ignored env PWD debug3: Ignored env HOME debug3: Ignored env TEXTDOMAIN debug3: Ignored env SSH_AGENT_PID debug3: Ignored env QT_ACCESSIBILITY debug3: Ignored env XDG_SESSION_TYPE debug3: Ignored env XDG_DATA_DIRS debug3: Ignored env XDG_SESSION_DESKTOP debug1: Sending env LC_ADDRESS = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env GJS_DEBUG_OUTPUT debug1: Sending env LC_NUMERIC = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env GTK_MODULES debug3: Ignored env PAPERSIZE debug3: Ignored env WINDOWPATH debug3: Ignored env TERM debug3: Ignored env VTE_VERSION debug3: Ignored env SHELL debug3: Ignored env QT_IM_MODULE debug3: Ignored env XMODIFIERS debug3: Ignored env IM_CONFIG_PHASE debug3: Ignored env XDG_CURRENT_DESKTOP debug3: Ignored env GPG_AGENT_INFO debug3: Ignored env GNOME_TERMINAL_SERVICE debug3: Ignored env SHLVL debug3: Ignored env PYENV_SHELL debug3: Ignored env XDG_SEAT debug3: Ignored env LANGUAGE debug1: Sending env LC_TELEPHONE = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env GDMSESSION debug3: Ignored env GNOME_DESKTOP_SESSION_ID debug3: Ignored env LOGNAME debug3: Ignored env DBUS_SESSION_BUS_ADDRESS debug3: Ignored env XDG_RUNTIME_DIR debug3: Ignored env XAUTHORITY debug3: Ignored env XDG_CONFIG_DIRS debug3: Ignored env PATH debug1: Sending env LC_IDENTIFICATION = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env GJS_DEBUG_TOPICS debug3: Ignored env SESSION_MANAGER debug3: Ignored env LESSOPEN debug3: Ignored env GTK_IM_MODULE debug1: Sending env LC_TIME = ja_JP.UTF-8 debug2: channel 0: request env confirm 0 debug3: send packet: type 98 debug3: Ignored env _ debug3: Ignored env OLDPWD debug2: channel 0: request shell confirm 1 debug3: send packet: type 98 debug2: channel_input_open_confirmation: channel 0: callback done debug2: channel 0: open confirm rwindow 32000 rmax 35000 ^Cdebug3: send packet: type 1 debug1: channel 0: free: client-session, nchannels 1 debug3: channel 0: status: The following connections are open: #0 client-session (t4 r43 i0/0 o0/0 fd 5/6 cc -1) ```
guest

回答1

0

ベストアンサー

TOSの変更後以降、サーバ側からの応答が返ってきていませんね。
おそらく経路中のどこかでTOSの値によってパケットが落とされていると思われます。

OpenSSH 7.6でのnon-interactive session(-T付き)でのデフォルト値 throughput(0x08) だと落とされて、interactive session(-T無し)だと問題無い(おそらくlowdelay(0x10)を使用)という事なので、non-interactive session時もlowdelayを使えば大丈夫だと思われます。

~/.ssh/config に以下の設定を追加してください。

Host github.com IPQoS lowdelay

すでにgithub.comに対する他の設定がある場合は、そこにIPQoSの設定を追加すれば大丈夫です。

投稿2021/01/22 08:28

doda

総合スコア947

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

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

nnn-kakimoto

2021/01/22 08:36

ありがとうございます!指示頂いたconfigの設定で解決できました。 SSHコマンドのオプション等も勉強しないといけないなと思わされました。
退会済みユーザー

退会済みユーザー

2021/01/22 10:49

こんなの設定できるんですね。 知らなかった。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問