アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。以下の件について、ご教授頂ければ幸いです。

サーバー構築でssh接続の設定をしていました。
まず、パスワード入力にてssh接続を行い、/etc/sshd_configの設定変更で、
ポート番号変更
rootログインを許可しない
空パスワードを許可しない
認証失敗回数の変更
等をしました。

それから、
ssh-keygen -t rsa で公開鍵の作成
id_dsa.pubファイルのサーバーへの移動、
/etc/sysconfig/iptablesで新しいポート番号の追加
等を行いました。

上記の作業は、初めてだったので、ファイルの変更や削除を繰り返し、クライアントPCとサーバーの間を行ったり来たりしながら行っていました。

クライアントPCから、最初はサーバーにssh接続出来ていたのですが、なぜか途中から
ssh: connect to host ***.**.***.*** port **: Connection refused
のエラーが出て、接続出来なくなってしまいました。

しかも、使っていたクライアントPC以外のPC(Ubuntu, Mac OS 10.8)からはssh接続出来るのに、クライアントPCからのに接続出来ない状況です。
クライアントPCのsshコマンドに問題があるのかと思ったのですが、これまで使っていた別のサーバーにはssh接続出来るので、問題は初期設定していたクライアントPC〜新しいサーバー間に現在のところ限られています。

色々とネットや本で調べたりもしてみたのですが解決策が見当たらず、大変困っています。
どなたかご教授頂ければ大変ありがたいです。
ちなみに、初期設定していたクライアントPCのOSはMac OS10.6.8
サーバーはCentOS 6.6
です。

何卒よろしくお願い致します。

質問者からの補足コメント

  • アドバイス頂きありがとうございます。
    頂いたアドバイスのうち、名前解決の部分は知識不足でまだ試せていないのですが、少し追加情報がありますので補足させて頂きます。

    前回の質問の後、しばらく時間をおいてから、再度初期設定を行っていたクライアントPCからssh接続を試みたところ、なぜか接続出来ました。
    しかし、そのすぐ後に別のPC(Ubuntu)からssh接続したところ、初期設定していたクライアントPCのssh接続がまた切れてしまいました。エラーメッセージは最初の投稿と同じものです。

    sshd_configのログレベルを
    LogLevel DEBUG3
    としてssh接続を試み、/var/log/secureを見てみましたが、特に何も出力されていません。

    複数のクライアントがサーバにssh接続すると競合するということがあるのでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/02/03 20:54
  • お世話になります。返信が遅くなり、大変失礼しました。
    sshdの再起動はしています。
    sshd_configの設定内容は以下のようになっています。

    Port 60022
    Protocol 2
    SyslogFacility AUTHPRIV
    PermitRootLogin no
    PubkeyAuthentication yes
    PermitEmptyPasswords no
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    GSSAPIAuthentication yes
    GSSAPICleanupCredentials yes
    UsePAM yes
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    以下続きます。

    No.3の回答に寄せられた補足コメントです。 補足日時:2015/02/07 17:52
  • AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    AcceptEnv XMODIFIERS
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no
    Subsystem sftp /usr/libexec/openssh/sftp-server
    UseDNS no

    iptablesは以下のようになっています。

    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    さらに続きます。

      補足日時:2015/02/07 17:54
  • -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 60022 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT

      補足日時:2015/02/07 17:56
  • それで、その後の状況なのですが、一進一退という感じです。なぜかsshログイン出来る時と出来ない時があるのです。
    出来ない時は、サーバーの/var/log/secureを見ても、やはり何も出力されていません。
    クライアントPC側で、ssh -p 60022 ユーザ名@***.**.***.*** -v -v -v
    とすると、
    OpenSSH_6.7p1, OpenSSL 1.0.2 22 Jan 2015
    debug1: Reading configuration data /Users/******/.ssh/config
    debug1: Reading configuration data /usr/local/etc/ssh/ssh_config
    debug2: ssh_connect: needpriv 0
    さらに続きます。

      補足日時:2015/02/07 17:59
  • debug1: Connecting to ***.**.***.*** [***.**.***.***] port 60022.
    debug1: connect to address ***.**.***.*** port 60022: Connection refused
    ssh: connect to host ***.**.***.*** port 60022: Connection refused
    と出力されます。

    また、Ubuntuからログインしようとした時にも同じ症状が確認され、そちらでは'Connection refused'の代わりに'No route to host'と出力されていました。

      補足日時:2015/02/07 18:03
  • お世話になります。
    指定しているIPアドレスはサーバのものです。
    接続出来た時は似たようなログが出ています。
    Feb 9 22:48:24 localhost sshd[3815]: debug3: fd 5 is not O_NONBLOCK
    Feb 9 22:48:24 localhost sshd[3815]: debug1: Forked child 13285.
    Feb 9 22:48:24 localhost sshd[3815]: debug3: send_rexec_state: entering fd = 8 config len 679
    Feb 9 22:48:24 localhost sshd[3815]: debug3: ssh_msg_send: type 0
    続きます。

    No.4の回答に寄せられた補足コメントです。 補足日時:2015/02/09 22:56
  • Feb 9 22:48:24 localhost sshd[3815]: debug3: send_rexec_state: done
    Feb 9 22:48:24 localhost sshd[13285]: debug3: oom_adjust_restore
    IPv6はこの間トライしてみたのですが、上手く接続出来ませんでした。ネット環境の問題かなと思っています。
    サーバ側でnetstat -lpnとタイプすると
    tcp 0 0 0.0.0.0:60022 0.0.0.0:* LISTEN 3815/sshd
    と出てくるので、sshdが正しく待ち受け出来ていると理解しています。

    ルーターの接続の問題ということはありませんか?

      補足日時:2015/02/09 23:02

A 回答 (5件)

>指定しているIPアドレスはサーバのものです。



LAN内からサーバのIPアドレスを指定。ですよね?
LAN内からWAN側のグローバルIPアドレスを指定の場合はうまくいかないと思われますが……。
# というかLAN内ならIPアドレスをマスクする必要もないような気がしますが。

>ルーターの接続の問題ということはありませんか?

LAN内からルータのWAN側IPに接続しようとする。という状態であれば、ルータによって可能な場合と不可能な場合があります。
# それでも1度は接続できている。あるいは1接続は継続できている。というのが不明ですが…。
    • good
    • 0
この回答へのお礼

出張で返信が遅くなってしまいました。大変失礼しました。
結局原因は分からずじまいですが、つながることもあるのでとりあえずしばらく問題はペンディングすることにします。
長々とお付き合い頂き、大変ありがとうございました。
ベストアンサーとさせて頂きます。

お礼日時:2015/02/17 11:48

iptablesはデフォルトからsshでポート変更した分を追加しただけ…のようですね。


ならばiptablesで蹴られるということもなさそうですが……。
sshd_configもほぼ同様…でしょうか……。
目立って変な設定になっているとも思えませんね。

>また、Ubuntuからログインしようとした時にも同じ症状が確認され、そちらでは'Connection refused'の代わりに'No route to host'と出力されていました。

これだとサーバ側ではなくクライアント側なんでしょうかねぇ……。

念のため確認ですが、
>クライアントPC側で、ssh -p 60022 ユーザ名@***.**.***.*** -v -v -v
で指定しているIPアドレスは間違いなくサーバのIPアドレスですよね?
# ルータのWAN側IPアドレスだった…とかではなく。

接続に来ると下記のようなログが出ていると思われるのですが…。
Feb 9 13:39:42 localhost sshd[6046]: debug3: fd 5 is not O_NONBLOCK
Feb 9 13:39:42 localhost sshd[6046]: debug1: Forked child 6066.
Feb 9 13:39:42 localhost sshd[6046]: debug3: send_rexec_state: entering fd = 8 config len 653
Feb 9 13:39:42 localhost sshd[6046]: debug3: ssh_msg_send: type 0
Feb 9 13:39:42 localhost sshd[6066]: debug3: oom_adjust_restore

sshd_configでListenAddress(またはAddressFamily)が指定されていないようですが、IPv6は問題なく使用できる状態ですか?
まぁ、接続時にIPv4で指定しているならそこの違いは影響しない…はずですが。

サーバ側でのnetstat -lpn でもsshdが正しく待ち受けしていますよね?
この回答への補足あり
    • good
    • 0

>sshd_configのログレベルを


>LogLevel DEBUG3
>としてssh接続を試み、/var/log/secureを見てみましたが、特に何も出力されていません。

sshdは再起動なりしていますよね?
DEBUG3だとそれなりに出力されると思われますが……。

>複数のクライアントがサーバにssh接続すると競合するということがあるのでしょうか?

sshd_configのマニュアル見ると…MaxStartups辺りが影響しそうな気もします。
# それでも、接続済みの方が切断されるとは思えませんが…。
http://www.unixuser.org/~euske/doc/openssh/jman/ …

cat /etc/ssh/sshd_config | grep -v ^# | grep -v ^$
辺りでsshd_configの設定内容が表示できますので、掲示された方がよいかと。
あとはiptablesの設定も。
この回答への補足あり
    • good
    • 0

的外れな回答かもしれませんが



クライアントPC側のログインユーザーのホームディレクトリにある
「.ssh/known_hosts」に間違った情報が保持されている可能性もあります
当該サーバーに対する記述を行削除してみるとか対応が必要かも
    • good
    • 0
この回答へのお礼

ご教示頂きありがとうございます。
known_hostsの該当行を削除して再度接続を試みましたが、残念ながら接続出来ませんでした。

お礼日時:2015/02/03 20:31

MacOSの方は判りませんが……



>クライアントPCから、最初はサーバーにssh接続出来ていたのですが、なぜか途中から
>ssh: connect to host ***.**.***.*** port **: Connection refused
>のエラーが出て、接続出来なくなってしまいました。

サーバのsshd_configの設定を変更して、ログレベルを上げてみてはどうでしょうか?
/var/log/secure に出力されているはずです。
あとはiptablesの設定の見直しとか…でしょうかね。
「ファイルの変更や削除を繰り返し」というのが、どの箇所を変更したりしたのか。という記録でもあればまだ調べようはあるかと思いますが。

http://dev.satake7.net/posts/292
https://forums.ubuntulinux.jp/viewtopic.php?id=5 …

>使っていたクライアントPC以外のPC(Ubuntu, Mac OS 10.8)からはssh接続出来るのに、クライアントPCからのに接続出来ない状況です。

サーバ側で弾いている…というのでなければ、クライアント側でしょうかねぇ……。
IPアドレスで指定していないのであれば、名前解決に問題がある可能性がありますか。
サーバ側でIPv6で待ち受けしていてIPv4が無効にしてある状態で、他のクライアントがIPv6の名前解決に成功、問題のクライアントは変更前のIPv4アドレスを使っている。とか。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!