• ベストアンサー
  • 困ってます

どうしても外部からのSSHが通らない

いつもお世話になっております。 タイトル通りSSHが通らなくて困っています。 ネットワーク構成としては ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ルータ→SSHDサーバー A  ↓ 無線LANルータ: ))) SSHクライアント B ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー という構成で、Aから、Bへのグローバルアドレスでのログインができません。 ssh root@sample.co.jp ssh: connect to host sample.co.jp port 22: Connection refused というメッセージが出ます。 もちろんsample.co.jpは説明のための適当なアドレスです。 現在試して以下のことはわかっています。 ・http://www.cman.jp/network/support/port.htmlでポート22へのアクセステストではアクセス成功する。→ルータ設定は問題なし ・友人に試してもらってもアクセス成功→ルータ設定は問題なし ・ローカル、LAN内のクライアントから、root@192.168.1.100というコマンドであれば、SSHでログインできる。→デーモンは起動済み ・ウェブページは外部からsample.co.jpでも見られる。(ただ、これもBから見ようとするとウェブページでなくルーター設定画面になってしまうんですよね・・謎です)→とりあえずアドレス解決はオッケー ・hosts.deny, hosts.allowは何も記述なし。→弾くこともなし? ・iptablesはオフ、selinuxもdisabledに設定→弾くことなし? これで何故つながらないのかもう自分ではわかりません。。。 ちなみに Aはlinuxのfedora10 BはmacOSX 10.5 です。 何か設定もれで思いつくものがあれば教えていただけるとうれしいです。

共感・応援の気持ちを伝えよう!

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • mtaka2
  • ベストアンサー率73% (867/1179)

説明がちょっとよく分からない所があるのですが、 > ルータ→SSHDサーバー A >  ↓ > 無線LANルータ: ))) SSHクライアント B これは、「ルータ」でインターネットに繋がっていて、 「SSHDサーバー A」「無線LANルータ」「SSHクライアント B」は同じLAN内にあり、 インターネットからの通信接続は「SSHDサーバー A」にポート転送するように、ルータで設定している という状況でよろしいでしょうか? > Aから、Bへのグローバルアドレスでのログインができません。 これは、B(SSHクライアント)からA(SSHサーバ)へのログイン、ということだとして、BからAに、 LAN内のIPアドレスを指定した「root@192.168.1.100」宛だと接続できるが、 グローバルなIPアドレスを指定した「root@sample.co.jp」宛だと接続できない、 という状況ということでしょうか。 そうだとすると、ブロードバンドルーターの機種にもよりますが、 ルータの機能的な問題として、「LAN内からは、グローバルIPアドレス宛の通信を、ルータがポート転送してくれない」ような機種は多いです。 その場合、 ・「root@sample.co.jp宛の ssh」は、ポート転送されないため、まったく通信できない ・「sample.co.jp宛のWebアクセス」は、ポート転送されず、ルーター自身が対応するため、ルーター設定画面が表示される といったことになります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。 説明がわかりにくくて申し訳ありません。 ネットワーク構成に関しては、ルータでインターネットにつながっていて、 SSHDサーバ側がポート1(192.168.1.1)、 無線ルータ側がポート2(192.168.1.2)で、 SSHDクライアントが192.168.1.3のため、この3つは同じLAN内ですが、 無線ルータでまたネットワークがかわっていると思いまして、 SSHクライアントは10.0.1.2、 無線LANのルータの無線側アドレスは(10.0.1.1)となっています。 でも、 >そうだとすると、ブロードバンドルーターの機種にもよりますが、 >ルータの機能的な問題として、「LAN内からは、グローバルIPアドレス宛の通信を、ルータがポート転送してくれない」ような機種は多いです。 これっぽいですね。。 そうゆう仕様がよくあるとわかっただけでもすっきりしました。 原因さえわかれば、家ではローカルIPアドレスを指定すれば接続できるので、特に問題はないので^^; ありがとうございました!

関連するQ&A

  • macから外部SSH接続

    Mac Book Air OS X 10.6.6 から、自宅のwebサーバーにSSH接続ができません。(イーモバイルからアクセス) ターミナルから 「ssh ユーザー名@グローバルIP」 を叩くとssh: connect to host グローバルIP port 22: Operation timed out のエラーになります。 Mac Book Air OS X 10.6.6 から、「ssh ユーザー名@ローカルIP」では、接続ができます。(自宅のネットワーク接続) 接続する側のiptablesのiptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY に設定されています。(参考URL http://centossrv.com/iptables.shtml) ルータ側の設定は、22ポートをオープンにしています。 http://www.cman.jp/network/support/port.html でグローバルIP/ポート22でアクセス確認。 「ホスト:グローバルIP ポート:22 にアクセスできました。」 と返ってきます。 また、自分なりに試したのはwindowsからTera TermからグローバルIPを入れて接続できるか 確認。「接続が拒否されました」と返ってきます。 質問のまとめ   自宅以外の場所から、自宅のサーバーにSSH接続を行いたい。 Mac Book Air OS X 10.6.6 (ssh/外部からアクセス) → サーバー CentOS 5.6にアクセスしたい。  環境   ルーターは、BUFFALO製のルータ、WHRシリーズ   自宅のプロバイダーはniftyを利用   サーバー CentOS 5.6 グローバルIPから接続を行う場合、他に設定が必要な部分をご教授いただければと思います。

  • SSH

    [PC1:Fedora6]マシンから、[PC2:Fedora6]マシンへ、 sshを使ってログインしての作業は問題なくできていました。 [PC1]にて、[PC3:CentOS(仮想マシン)]を立ち上げました。 [PC1]から[PC3]へsshでログインしようとすると、以下のエラーがでます。  "ssh_exchange_identification: Connection closed by remote host" [PC3]から[PC1]へsshでログインしようとすると、以下のエラーがでます。  "セグメント違反です。" なにか、設定等必要なのでしょうか? よろしくお願いいたします。 * /etc/hosts.allowおよび/etc/hosts.denyには、 コメント以外なにも書かれていませんでした。

  • WindowsからMacOSXにSSHログインできない

    puttyを使ってLAN上のMacOSXへsshログインしようとすると 「ネットワークエラー接続が拒否されました。」 となります。そこでLinuxからためしてみましたら ssh 192.168.0.3 ←マックのアドレス ssh: connect to host 192.168.0.3 port 22: Connection refused このようにやはり接続できません。どうしたら接続できますでしょうか? ちなみに、マック側からはLinuxマシンにssh接続できるのですが‥ port 22: Connection refused と出るのでポートを開ければ良いのかとは思うのですが、開け方がわかりません。よろしくお願いします。

  • 外部IPからのssh接続

    昨日こちらで質問させていただきましたが解決しませんでしたので 情報を再度整理して投稿させて頂きます。 自宅サーバーの構築をしていますがsshで外部から接続ができません。 OS : CentOS 5.x ルーター設定済み、ipconfigやhosts.xxx、ssh_configはインストール時から変更なし。 症状 1. ローカルIPからssh接続は可能 2. Port開閉チェックサイトからチェックをかけるとPortが開いているのを確認  その際、/var/log/secureに添付画像のようにログがでます。 3. 外部からssh接続を試みた場合は/var/log/secureに何も記録されず、接続が拒否される(22番ポートを指定) この場合考えられる原因は何か、皆様のお知恵をお貸しください。 宜しくお願いいたします。

  • sshの外部公開設定について

    sshの外部接続設定について質問です。 vine2.6のlinuxサーバを用意しLANからのssh接続は 問題なくできているのですが、 外部からのssh接続に対しては「Connection refused 」になってしまいます。 プロバイダーはDION、使用するルータはAterm wd600ですがこちらのログにssh接続についてのログはでていないようです。 apacheの公開設定を行いhtmlまで確認しているのでポート以外同じ設定にしているのでルータの線は薄いのかと思っています。 サーバに対してssh認証のアクセスがあった場合はログが残らないのでしょうか? iptablesもインストールしていないのでファイアウォールでカットされているとも思えないのですが別のファイアウォールソフトが稼動しているのでしょうか。 まず、確認すべきログ、設定などお分かりの方よろしくお願いします。

  • sshでログインができません?

    linux7.2 REDHATでopensshを構築しました。windowsクライアントからLAN内でsshで接続しようとしていますがうまくいきません。 普通成功したときはパスワードを聞いてきますが、聞かれない状態です。 LINUX側でユーザーかグループを作成しなければならないのでしょうか? 以下の設定ファイルを調整してみました。 ・sshd_conf ・hosts.allow ・hosts.deny ・pingは通ります。 ・サーバー側ではsshでログインできます。 ・テストでtelnetを設定してみましたがクライアントからログインできませんでした。 サーバー側からはできました。 ・ブラウザー経由でwebサーバはアクセスできます。 ・DOSプロンプトから telnet ホスト名 22 で確認したところ接続できない状態になる。 ポートのところではじかれているように思えます。 どなたかこころやさしい方ご教授いただけないでしょうか? よろしくお願いいたします。

  • SSHでTELNET

     こんにちは、honiyonです。  SSHの知識について確認をしたいのですが...  サーバー側で、SSHの設定を行いクライアントからSSHで保護されたTELNETを使用する場合、SSH(Port22)に接続し、設定を行ったユーザー名とパスフレーズ、RSA公開鍵を使用してログインします。  ・・・で合っていますか?  TELNET(Port23)からログインしたのでは、SSHで保護されませんよね?    基本的な所で申し訳ないのですが、宜しくお願いします(..

  • SSH接続について

    すみません。色々調べたのですが、どうしても解決しないため ご存知の方がいれば教えてください。 SSHを使って、外部側(インターネット)から自宅PCにアクセスしたいと 思っています。 そこで、以下のように構築しました。 自宅PC(Fedora) --- ルータ(インターネット) ---- windowsPC 自宅PCには、SSHサーバ構築済みです。 公開鍵と秘密鍵も生成済みです。 ルーターは22ポートを開けました。(ちゃんと開いているかも 確認済みです) この状態で、 (1)自宅のもうひとつのwindowsPCからSSHクライアント(poderosa)を使い  ログイン成功(公開鍵方式) (2)自宅のもうひとつのwindowsPCからPuttyを使い、ログイン成功 (3)自宅のもうひとつのwindowsPCからwinscpを使い、ログイン成功 すべて公開鍵方式です。 (4)外部のwindowsPCからSSHクライアント(poderosa)を使い、  ログイン成功(公開鍵方式) とここまでは順調だったのですが、以下がなぜか接続できず、 「接続が拒否されました」とでます。 (5)外部のwindowsPCからPuttyを使ったログイン (6)外部のwindowsPCからwinscpを使ったログイン 公開鍵秘密鍵の生成は、poderosaの鍵生成ツールを使い生成しています。 また、PuTTYとwinscpの秘密鍵は、poderasaで生成した秘密鍵を Puttygenを使い、Putty用に生成しなおしてから使用しています。 (1)~(4)までが成功して、(5)~(6)が失敗する理由がわかりません。 すべて22番ポート(ssh)を使っていると思うので、 (4)が成功すれば、(5)、(6)は成功すると思っていたのですが、 なにかまだ足りない設定があるのでしょうか。 情報が不足している場合は、ご指摘ください。 以上、よろしくお願いいたします。

  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • SSH Secure Shell の設定のしかたについて

    Linux RedHat 9.0 と Windows XP との間で,ネットワーク越にいろいろとやりたいことがあるので,SSH Secure Shell をインストールしました.Linux の方は新たにインストールしたものです. hosts hosts.allow hosts.deny はそれぞれ分かる範囲で設定し(linuxの方は),同じネットワーク内につながっているウィンドウズマシンからSSH Secure Shellを使ってログインしようとしたのですがうまくいきません... linux の方から,当ウィンドウズマシンにipアドレスでpingをうつと応答はあるのですが,ホスト名を入れると応答がありません.また逆もしかりです.これは hosts hosts.allow hosts.deny の設定が間違っているということなのでしょうか? それともSSH Secure Shellの方の設定が間違っているのでしょうか? ただ,私自身,学外の別のサーバにはちゃんとアクセスできるように設定してあるぐらいなので,当linuxマシンへの接続の設定が間違っているようには思えないのですが... ウィルスソフトとしてインストールしているノートンが悪いのでしょうか?でもそれなら別のサーバにも接続できませんよね. よわっています.どなたかアドバイスをいただけないでしょうか? よろしくお願いします.