Puttyで繋がらずタイムアウトしてしまいます。


状況を説明します。
サーバーAとサーバーBがあります。
クライアントマシンCとクライアントマシンDがあります。
CとDにはともにPuttyがインストールされていてこの2台は同じLANネットワーク内にあります。

SSHは公開鍵とパスフレーズありの認証です。
CのマシンとDのマシンのPuttyには同じ秘密鍵を設定しています。
サーバーAとサーバーBには同じ公開鍵を設定しています。
クライアントCのPuttyからはサーバーAにもサーバーBにも繋がります。
クライアントDのPuttyからはサーバーAにはつながりますがBには繋がりません。
(何の入力も求められないまま、タイムアウトになります)

クライアントDのPuttyからサーバーBにつながらず困っています。
同じ設定のCからはAにもBにも繋がるので不思議に思っています。
解決するべく確認すべき点は何かあるでしょうか

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/11/28 00:49:27
  • 終了:2011/12/05 00:50:03

回答(4件)

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252011/11/28 10:35:20

ポイント50pt

とりあえず以下を実行すれば詳細なログが出るはずですのサーバAへの接続と何が違うかを見て原因を探しましょう。

ssh -vvv サーバB
id:y-kawaz

すみません、puttyって書いてあるのをスッパリ忘れてました…。

とりあえず、pingや、ポート22晩へのtelnetではサーバA,Bで差があるか確認してみたらネットワークの問題なのか、SSHの問題なのかの切り分けになると思います。

2011/11/28 11:46:27
id:dedara

pingはCからもDからもタイムアウトになる
telnetもCからもDからも失敗します

2011/11/28 21:36:36
id:language_and_engineering No.2

lang_and_engine回答回数170ベストアンサー獲得回数632011/11/28 13:04:27

ポイント50pt

きっとクライアントCを先に試したんでしょうね。

クライアント側の秘密鍵の使い回しに関して,幾つか参考URLを。


sshサーバを設定する
http://www005.upp.so-net.ne.jp/develop-tom/ssh-server.html

  • 暗号鍵のペアはクライアント毎に生成する。


ターミナルエミュレータなどに付いている「鍵作成機能」は一体何のためにあるんでしょうか・・・?
http://2chnull.info/r/linux/1261598308/301-400#res327

  • 公開鍵と秘密鍵のペア作りは,どれかで一回ではなくクライアントごとに一回


Why you need an SSH key
https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair

  • As you might expect, you shouldn't share the private key with anyone.



なお,サーバ側公開鍵の使いまわしは問題ありません。単に
1クライアントの秘密鍵で,全サーバに接続できる。という事ですので。


Connect via the public key
http://unixwiz.net/techtips/putty-openssh.html
It's important to note that though the user must type a secret word when logging in, the passphrase is associated with the local private key, not the remote account. Even if the user's public key is installed on 1,000 different remote servers, the same private-key passphrase is demanded for all of them. This greatly simplifies the task of remembering access credentials and encourages the choosing of strong, secure ones.

他1件のコメントを見る
id:dedara

つまり、どうしたら良いのでしょう。
サーバーAにはDからも使い回しの秘密鍵でふつうに繋がるので、腑に落ちないのですが。

2011/11/28 21:45:19
id:language_and_engineering

こんにちは。うまくお伝えすることができず,大変申し訳ありません。

私がお伝えしたいのは,下記のポイントです。


クライアント側での秘密鍵の共有は,異常系とは言わないまでも,ちょっとずるい運用です。

なので,まずはそれをやめて,クライアントごとに別個の鍵ペアをちゃんと生成し,まっとうな運用を試してみるのはどうでしょうか。

そうすれば,鍵の問題なのか,NWの問題なのか,問題を切り分ける事ができます。

そのようにして初めて,他の回答者さん達の回答している内容(NW寄りの対処法)を役立てる事ができるのではないでしょうか。



※作業方針として,まずは正常系を構築してみて,
ノーマルな,セオリー通りの環境を動作確認してみるのがベストです。

その環境が十分正常に動く事がわかったら,その後で初めて,
ちょっとひねった環境に作り変えてゆく事ができます。

そのような作り変えの過程の途中であれば,
環境が急に動作しなくなったとしても,
動かなくなった原因は直前の変更のせいだとすぐわかるので,問題の切り分けがきわめて容易です。

どうぞお試しください。

2011/11/29 10:05:06
id:kodairabase No.3

kodairabase回答回数661ベストアンサー獲得回数802011/11/28 19:45:42

ポイント50pt

考えられる原因。

  1. クライアントC,Dのサブネットマスクが違う→DをCに合わせる
  2. クライアントDのファイアウォールがサーバBをブロックしている
  3. サーバBのファイアウォールがクライアントDをブロックしている
id:dedara

ファイアウォールで特定のマシン以外ブロック、のような設定ができるのでしょうか?
CもDも同じLAN内にあるのでMacアドレスを見てCだけ許可してるということですか?
ルータを越えてマシンのMacアドレスを判別ってできるのでしょうか

1は設定を見る限りないのと、2についてもDでサーバBだけブロックとかそういった設定はしていません。

2011/11/28 22:38:47
id:kodairabase

>ファイアウォールで特定のマシン以外ブロック、のような設定ができるのでしょうか?
できるものもあります。

>CもDも同じLAN内にあるのでMacアドレスを見てCだけ許可してるということですか?
Macアドレスではなく、ふつうはIPアドレスを見て判断します。

2011/11/29 08:07:17
id:y-kawaz No.4

y-kawaz回答回数1420ベストアンサー獲得回数2252011/11/29 00:36:14

ポイント50pt

サーバA,BにはIPで接続してるんでしょうか?それともホスト名?
ホスト名だとしたらC,Dで使ってるDNSサーバが違ってDのDNSが腐ってるとか、もしくはサーバBのホスト名がDのPCのhostsファイルに別IPで記述されているという可能性もあります。

id:dedara

IPで接続しても同じでした。pingもタイムアウトです

2011/11/29 01:37:57
  • id:language_and_engineering
    しばらく考えていたのですが、
    ssh以前に、pingが通らないのが不思議です。
    これでは、IPより上のレイヤの各種TCPプロトコルの挙動は保証できません。

    A,BとC,Dは異なるセグメントですよね?
    route -p addは実行済みでしょうか?
    あるいは、セグメント間にはさまっているルータ上で、
    特定の通信経路のみをホワイトリストで許可するように細かく設定されていませんか?
  • id:dedara
    A,BとC,Dは異なるセグメントです。
    A,Bはサーバ業者、C,Dは自宅なのでCとDで設定を使い分けているとは考えにくいです。
    pingが通らないことについては特定経路からのpingをはじく設定にしているんだろうな、と思いました。
    AからBにはpingは通ります。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません