タイムアウトが原因ですべてのSSH試行が失敗するのはなぜですか?


22

私はsshと関連技術を使うのが初めてなので、基本的なことを理解していない可能性が非常に高いです。(これは、代わりにServer Faultの質問かもしれません。

(所有している)Webサーバーにsshしようとしていますが、タイムアウトのために接続が確立されません。

~ $ ssh -vvv DOMAIN.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out

最初に考えたのは、どういうわけかドメインを間違って指定したか、サイトに何か問題があったということです。だから私はFTP経由で同じドメインに接続しようとしましたが、うまくいきました(ユーザー名の入力を求められました):

~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (DOMAIN.com:USER):

それで、SSHを間違って使用しているだけかもしれません。このチュートリアルビデオを見始めました。約1分でssh will@supercars.com、ユーザー名のプロンプトが表示されますが、上記と同じタイムアウトが発生します。その後ssh google.com、同じことを試してみました。ssh localhost、一方で、正常に動作します。そのため、問題はネットワークを介したSSH要求に関係しているようです。

私の次の考えは、それがファイアウォールの問題かもしれないということでした。このマシンにはソフォスがインストールされていますが、管理者によると、SSHリクエストの送信をブロックすべきではありません。

誰がこれが起こっているのかを理解するのを助けることができますか?


8
それはあなたが私たちに与えているライブIPアドレスです。安全でないFTP接続が実行されています。これは良い考えではないかもしれません。また、ポート22で実行されているものありません。これが問題の原因であると思われます。何かにsshすることはできません。サーバーでsshdを実行する必要がありますが、これはそうではないようです。サーバーの場合は、sshをオンにし、ftpをオフにします。実行後にssh経由でftpを実行できます。
マリナス

3
削除する必要はありません。IPを編集し、編集履歴を消去するようにSEに依頼しました。そうすれば、あなたに答えた人は評判を失うことはありません。
テルドン

回答:


24

このエラーメッセージは、接続先のサーバーがポート22でのSSH接続試行に応答しないことを意味します。その理由は3つ考えられます。

  1. マシン上でSSHサーバーを実行していません。sshを実行するには、インストールする必要があります。
  2. そのマシンでSSHサーバーを実行していますが、非標準のポートで実行しています。実行しているポートを把握する必要があります。ポート2222にあるとすると、を実行しssh -p 2222 hostnameます。
  3. そのマシンでSSHサーバーを実行しており、接続しようとしているポートを使用していますが、マシンには接続できないファイアウォールがあります。ファイアウォールを変更する方法を理解する必要があります。または、許可するために別のホストからsshする必要があるかもしれません。

編集:(正しく)コメントで指摘されているように、3番目は確かにそうです。他の2つは、クライアントの接続試行時にサーバーがTCP「リセット」パッケージを送り返すため、タイムアウトではなく「接続拒否」エラーメッセージが表示されます。他の2つも該当する場合がありますが、先に進む前に3番目の問題を修正する必要があります。


6
インストールされていない場合、または別のポートで実行されている場合、接続拒否メッセージが表示されます。
ハット

2
@ Hut8:その通りです。3つの可能性のうち、3番目の可能性(ファイアウォール)のみがタイムアウトにつながる可能性があります。
R ..

Ubuntuの場合:sudo ufw allow 22; その後、あなたの仕事をします。sudo ufw拒否22.digitalocean.com/community/tutorials/…–
ダニエル

選択したルートはssh他のサービスとは異なる可能性があるため、他のサービスにアクセスできる場合でも、サーバーにアクセスできないという4番目の可能性があると思います(インターネットルーティングの問題、間に何かがあります...)。
アレクシスウィルク

3

telnetコマンドで、SSHポート22に接続できるかどうかを確認します。接続できない場合は、それを確認します。まず、ポート番号で接続できるはずです。サーバーへの22。

デフォルトでは、SSHポートは22です。しかし、他のポートを設定している場合は、22の代わりにそのポートを使用します。

telnet <サーバーのIP / URL> <ポート>

例:telnet domain.com 22


2
これはちょうど同じ(そうでない場合はタイムアウトするssh -v接続を示しただろうログは、それがタイムアウトというよりも、言って、成功しました)
はWouter Verhelstさん

@Wouter Verhelstそう、わかりやすくするためにthnx
AVJ

どのポートが構成されているかを確認するにはどうすればよいですか?新しいポートを構成しますか?
ヨナタンシムソン

@YonatanSimsonは、アクセス権があると仮定して、sudo netstat -a64npnetstat)を使用してsshdサーバーを検索できます(最後の列)。アクセスできない場合は、試してみてくださいnmap
アレクシスウィルク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.