カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


備忘録

ローカル環境で接続するのは問題ないんですが、なぜか
sshdに外部から接続しようとしたところ、うまく接続出来ず。

sshのログにはこんなエラーが。

「refused connect from *.*.*.*」

これ以外にログはなし。なんでrefuseされるのか。

というわけで、原因と対策。

原因


原因は、TCP Wrapper。(のケースがほとんどみたい)

----hosts.allowの内容----
ALL: 192.168.0.0/255.255.0.0
ALL: 127.0.0.1


ここで疑問に思うのは、
「あれ?TCP Wrapperってinetd経由で起動させてる
サービスに適用するんじゃなかったっけ?」

そう、その通り。なんですが「sshd」だけは独自に起動させていても、
TCP Wrapperの設定内容が適用されてしまうようです。

で、もう少し調べてみると、普段,aptでsshdをインストールしているので、
あまり意識していなかったんですが、sshdのコンパイルオプションには
こういうオプションがあるんですね。

--with-tcp-wrappers will enable TCP Wrappers (/etc/hosts.allow|deny)
support. You will need libwrap.a and tcpd.h installed.

つまり、inetdとは関係なく、sshdとしてTCP Wrapperの機能を有効にしちゃうわけだ。

おそらく、aptでインストールするsshdは上の機能がenableになった
状態なんではないかと勝手に想像。

対策


原因がわかれば、対策は簡単。
勝手に納得して、hosts.allowに設定追加して終了。

sshd: ALL


以上。

追加:2012/08/25

上記の問題でクライアント側でエラーが発生した場合は、
こんなエラーが出力されます。

ssh_exchange_identification: Connection closed by remote host

タグ : TECH ssh エラー 繋がらない refused ssh_exchange_identification

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...