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

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

ただいまの
回答率

90.84%

  • GitHub

    685questions

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

  • SSH

    501questions

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

github で、no kex alg のエラーがでる。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 122

zanjibar

score 184

CentOS release 5.10 (Final) という古いサーバから、github にアクセスしたら、no kex algというエラーがでました。

openssh は、OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
とかなり古いバージョンです。

新しいものに入れ替えればいいのでしょうけど、コンパイルが必要みたいです。
このバージョンでも、ssh_config を変更で対応できるのだったらありがたいです。
Protocol 2 を明示的に指定してもだめでした。

現時点でうまくいっていないのは、明白です。ほしいのは、可能だという情報ですので、よろしく
お願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

2008年のOpenSSHという時点でほぼ無理でしょう。今当然に使える楕円曲線暗号なんかも、当時は使えなかったはずですから。
リリースノートによれば、2011年のバージョン5.7で初めてECの対応が出てきてます。
※それよりもハッシュのsha2/sha256の対応の方が致命的かもしれません

さて、"no kex alg"というのは、KEX(鍵交換)としてサーバ(github側)が許容できるアルゴリズムをどれも、クライアント(CentOS5側)で使うことができなかったということです。
なので、サーバ側の設定を緩くして対応することは(論理上)可能でも、クライアント側で何か設定してどうなるものではありません。

一応確認方法としてですが、以下のように敢えて強度の低い鍵交換アルゴリズムを指定してsshコマンドを実行することで、サーバの許容できる鍵交換アルゴリズム一覧が"Their offer:" 以下で分かりました。いずれもcurve25519やecdhといった楕円曲線暗号です。( 素のDHも混じってますが、それもsha256と組み合わせた新しい方式です )

$ ssh -o KexAlgorithms=diffie-hellman-group1-sha1 git@github.com
Unable to negotiate with 192.30.255.112 port 22: no matching key exchange method found.
Their offer: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256

私の環境でクライアントとして使える鍵交換アルゴリズムは次の通りなので、githubもちゃんと使えますが。同じようにして対応しているアルゴリズムを調べてみれば、より確かかと思います。

$ ssh -V
OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.2g  1 Mar 2016
$ ssh -Q kex
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
curve25519-sha256@libssh.org

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.84%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

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

  • GitHub

    685questions

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

  • SSH

    501questions

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