teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

内容追記

2018/06/19 09:45

投稿

kazto
kazto

スコア7196

answer CHANGED
@@ -1,3 +1,16 @@
1
1
  `Algorithm negotiation fail`というエラーは、SSHの鍵交換に失敗した際に出るエラーのようです。
2
2
  SharpSSHの詳しいドキュメントが世に無さそうなのですが、サーバ側が提供する鍵交換アルゴリズムにSharpSSHが対応していないことが原因と思われます。
3
- ラズパイ側の/etc/sshd_confを修正し、SharpSSHが対応しているアルゴリズムで通信できるようにしてやればよさそうですが、じゃあどれに?となると、情報がなさそうですねぇ。。。うーむ。
3
+ ラズパイ側の/etc/sshd_confを修正し、SharpSSHが対応しているアルゴリズムで通信できるようにしてやればよさそうですが、じゃあどれに?となると、情報がなさそうですねぇ。。。うーむ。
4
+
5
+ ---
6
+ 追記
7
+
8
+ SharpSSHのソースを落として読みました。
9
+ SharpSSHは、以下のソースによるとデフォルトで`diffie-hellman-group1-sha1`を使用している模様。
10
+ [https://github.com/jbogard/SharpSSH/blob/master/SharpSSH/jsch/KeyExchange.cs#L53](https://github.com/jbogard/SharpSSH/blob/master/SharpSSH/jsch/KeyExchange.cs#L53)
11
+
12
+ 一方、[https://euske.github.io/openssh-jman/sshd_config.html](https://euske.github.io/openssh-jman/sshd_config.html)によると、デフォルトで対応する鍵交換アルゴリズムは、
13
+ `curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1`
14
+ とのこと。
15
+
16
+ このへんの相違を解消してやると、うまく行きそうですね。