[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:26566] Re: ssh connection refused



In article <20010123140542.733AA5D00@xxxxxxxxxxxxxxxxxxxx> (at Tue, 23 Jan 2001 23:05:43 +0900), SAITO Naohiko <n_saito@xxxxxxxxxxxxx> says:

> で、接続デキないので /var/log/auth.log に
> sshd[27390]: fatal: get_sock_port: getnameinfo NI_NUMERICSERV failed
> などというメッセイジも追加されております。

kernel/module, ssh -v, sshd -d の結果(全体)が知りたいですが、
たぶん、これは linux-2.2 系 kernel をお使いで、ipv6 が有効/loadable に
なっている状態でおこる問題のような気がします。

で、原因は sockaddr_in6{} 構造体の大きさが変更になったことでしょう。

 - linux 2.4 では sin6_scope_id が追加された
 - glibc 2.2 から sin6_scope_id が追加された

しかし、glibc2.2 の getnameinfo() の正当性チェックで、古い長さのものも
はじくようになっているため、linux-2.2 が get{sock,peer}name() の返す
"古い" sockaddr_in6 が拒否されてしまうのです。

ということで、linux-2.4 系 kernel をお使いいただければ解決します。

なお、glibc へは linux22 でも動くような patch を送ったのですが、
間違っているものの互換性のためにコードを汚すようなことはしない、と
(その部分が)拒否されました。


なお、USAGI Project の提供する linux22, または glibc-2{1,2} を
お使いいただければ、問題は起こりません。:-)
  http://www.linux-ipv6.org

-- 
Hideaki YOSHIFUJI @ USAGI Project  <yoshfuji@xxxxxxxxxxxxxx>
PGP5i FP: F731 6599 5EB2 BBA7 1515  1323 1806 A96F 5700 6B25