状況を説明します。
サーバー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にも繋がるので不思議に思っています。
解決するべく確認すべき点は何かあるでしょうか
きっとクライアント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.
つまり、どうしたら良いのでしょう。
サーバーAにはDからも使い回しの秘密鍵でふつうに繋がるので、腑に落ちないのですが。
こんにちは。うまくお伝えすることができず,大変申し訳ありません。
私がお伝えしたいのは,下記のポイントです。
クライアント側での秘密鍵の共有は,異常系とは言わないまでも,ちょっとずるい運用です。
なので,まずはそれをやめて,クライアントごとに別個の鍵ペアをちゃんと生成し,まっとうな運用を試してみるのはどうでしょうか。
そうすれば,鍵の問題なのか,NWの問題なのか,問題を切り分ける事ができます。
そのようにして初めて,他の回答者さん達の回答している内容(NW寄りの対処法)を役立てる事ができるのではないでしょうか。
※作業方針として,まずは正常系を構築してみて,
ノーマルな,セオリー通りの環境を動作確認してみるのがベストです。
その環境が十分正常に動く事がわかったら,その後で初めて,
ちょっとひねった環境に作り変えてゆく事ができます。
そのような作り変えの過程の途中であれば,
環境が急に動作しなくなったとしても,
動かなくなった原因は直前の変更のせいだとすぐわかるので,問題の切り分けがきわめて容易です。
どうぞお試しください。
考えられる原因。
ファイアウォールで特定のマシン以外ブロック、のような設定ができるのでしょうか?
CもDも同じLAN内にあるのでMacアドレスを見てCだけ許可してるということですか?
ルータを越えてマシンのMacアドレスを判別ってできるのでしょうか
1は設定を見る限りないのと、2についてもDでサーバBだけブロックとかそういった設定はしていません。
>ファイアウォールで特定のマシン以外ブロック、のような設定ができるのでしょうか?
できるものもあります。
>CもDも同じLAN内にあるのでMacアドレスを見てCだけ許可してるということですか?
Macアドレスではなく、ふつうはIPアドレスを見て判断します。
サーバA,BにはIPで接続してるんでしょうか?それともホスト名?
ホスト名だとしたらC,Dで使ってるDNSサーバが違ってDのDNSが腐ってるとか、もしくはサーバBのホスト名がDのPCのhostsファイルに別IPで記述されているという可能性もあります。
IPで接続しても同じでした。pingもタイムアウトです
すみません、puttyって書いてあるのをスッパリ忘れてました…。
2011/11/28 11:46:27とりあえず、pingや、ポート22晩へのtelnetではサーバA,Bで差があるか確認してみたらネットワークの問題なのか、SSHの問題なのかの切り分けになると思います。
pingはCからもDからもタイムアウトになる
2011/11/28 21:36:36telnetもCからもDからも失敗します