SSHがハングしてからタイムアウト


8

Linuxのsshは初めてです。スイッチに2台のコンピュータを接続しています。1つ目は192.168.1.2、2つ目は192.168.1.3です。pingコマンドを使用すると応答が得られ、すべてが正常ですが、最初のコンピューターからsshを使用するとssh -v user@192.168.1.3

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.2 [192.168.1.2] port 22.
debug1: connect to address 192.168.1.2 port 22: Connection timed out

両方のマシンにsshがインストールされています。この問題を解決する方法についてのアイデアはありますか?

回答:


1

次のことを確認してください。

  • ポート22が開いており、接続を受信できる
  • サーバーでOpenSSHまたは別のSSHプロセスが実行されていることを確認してください
  • SSH構成ファイルに適切な値が指定されていることを確認してください

10
うーん。man sshd_config |grep -i appropriate私のすべてのLinuxボックスとSolarisでも空になります
sehe

@seheファイルは/ etc / ssh /の下にありませんか?

3
これにより、ベッドにいるときでも<headdesk />になりました。皮肉は失敗します。私が(あざけるように)提案したのは、適切な(シック)設定に関する情報がドキュメントに含まれていないということです
sehe

おかげさまで、実際にはポート22は閉じていたので、このコマンドを挿入しました[コード] iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 22 -j ACCEPT [/ code]
sam

@norwayに感謝します。同じ問題に直面しています。それらを確認するにはどうすればよいですか?共有ホスティングを使用しています。ありがとう。
アブアブ2017年

3

トラブルシューティングのヒント:

  • あなたssh localhostはサーバーにいますか?
  • ユーザーは許可されていますか?(AllowUsers設定)
  • 外部NICにバインドしますか?(ListenAddress 0.0.0.0またはを探すListenAddress ::
  • ポート22で実行していますか?(Port

    • 基本的に確認してください/etc/ssh/sshd_config
  • 追加netstat -tlpn | grep 22ポート22でリッスンしているプログラム(ある場合)を見つけるために使用できます(プロセス名を表示するには、rootとして実行します)。

また、pingの代わりに明示的なポート接続の使用を検討してください(例:nmap -PN remote -p22またはtelnet remote 22


1

質問はプライベートネットワークに関するものですが、インターネット経由でデバイスにアクセスしようとしたときにも同様の出力が得られました。グーグルの後で、私はこの質問を見つけました。ですから、たとえ質問に答えないかもしれませんが、他の人は私の答えが役に立つと思うかもしれません。私の場合、ISPがポート22 / TCPをブロックしていることがわかりました。

インターネット経由でデバイスにアクセスしようとしている場合、基本的に5つの可能性があります。

  1. マシン間でネットワーク接続が行われていない可能性があります。サーバーマシンのIPアドレスにpingしてみてください。パケットを受信できない場合は、両方のマシンのネットワーク接続を確認してください。
  2. SSHサーバーが正しく構成されていない可能性があります。ローカルで(同じデバイスとユーザーから同じデバイスとユーザーに)デバイスにSSHで接続してみます。

    ssh localhost
    
  3. サーバーマシンがルーターを介してインターネットに接続されている場合、ポート転送が適切に構成されていない可能性があります。そのため、ルーターのポート転送構成を確認してください。

  4. サーバーマシンのローカルファイアウォールが着信接続をフィルタリングしている可能性があります。ファイアウォールのルールで22 / TCPポートで着信接続を許可するか、ファイアウォールを一時的に完全に無効にしてください。
  5. ISPの一方または両方が接続をフィルタリングして除外している可能性があります。試してみてくださいサーバーのポートを変更し、2222年のようなものにSSHサーバを再起動し、新しいポートを使用してSSHing。-p次のようなコマンドのオプションを使用して、クライアントマシンのポートを指定できます。

    ssh USER@HOST -p PORT
    

0

まず、受信側でSSHが実行されているかどうかを確認します。リモートマシンにログインし、ローカルホストにsshしてみてください(同じマシンにsshでログインしてください)。

ssh -v myUserName@localhost

これにより、パスワードの入力が求められ、同じマシンにログインするはずです。これが機能しない場合は、このホストでSSHが有効になっていないことを意味します。このサーバーで「リモートログイン」を有効にすると、問題が解決します。

ただし、ターゲットサーバーからそれ自体にSSHで正常に接続できた場合、問題はおそらく途中のどこかにあります。次に確認することは、ソースホストのファイアウォールで、sshをブロックしていないことを確認することです。


1
私はhand-waivyと呼びますEnabling "remote login"。実際には何も意味しません。問題を修正することも、「リモートログイン」、FWIW有効にする必要があります
sehe

0

openssh-serverがすでにインストールされている場合、ファイアウォールがブロックしている可能性があります... ufwを有効にしていると仮定します。

マシン192.168.1.2からターゲットマシン192.168.1.3に移動する場合。ターゲットマシンで... sudo ufwは192.168.1.2から許可します。そしてその逆も便利でしょう


0

[これは私の初めての回答です。必要に応じて建設的な批判をお願いします。ありがとう。:)]

ターゲットマシンへのアクセスが禁止されている可能性があります。たとえば、間違ったパスワードを何度か入力したことが原因です。

/etc/fail2ban/jail.localターゲットマシンで編集し192.168.1.3ます(あなたの場合)。これsshは、禁止されていない別のマシンからこのマシンにアクセスできる場合に実行できます。

ソースマシンのIPアドレスを次の行ignoreipに入力[DEFAULT]します。

[DEFAULT]

ignoreip = 192.168.1.2

-1

次のことを確認してください。

1)nmap localhostを実行し、ポート22のステータスを確認します

2)sshを介して接続する2台目のコンピューターで、ssh localhostを実行します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.