私はLinuxでSSHを初めて使用します。スイッチに接続された2台のコンピュータがあります。 1つ目は192.168.1.2、2つ目は192.168.1.3です。そのコマンドを使用するとping
応答を受信し、すべてが正常ですが、最初のコンピュータでsshを使用すると、次のメッセージが表示されます。ssh -v [email protected]
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
トラブルシューティングのヒント:
ssh localhost
サーバーに接続できますか?- ユーザーは許可されますか? (
AllowUsers
環境) - 外部ネットワークカードにバインドしますか? (検索
ListenAddress 0.0.0.0
またはListenAddress ::
) ポート22で動作していますか? (
Port
)- 基本的に確認してみてください
/etc/ssh/sshd_config
。
- 基本的に確認してみてください
次へ追加:あなたが利用できる
netstat -tlpn | grep 22
:どのプログラム(もしあれば)がポート22でリッスンしているかどうかを調べるプロセス名を表示するには、rootとして実行してください。)。
nmap -PN remote -p22
また、ping(または単にtelnet remote 22
)の代わりに明示的なポート接続を使用することも検討してください。
答え2
質問はプライベートネットワークに関するものですが、インターネット経由でデバイスにアクセスしようとすると同様の結果が得られます。インターネット検索後にこの質問を見つけたので、その質問に対する答えではないかもしれませんが、他の人には私の答えが役に立つかもしれません。私の場合、ISPはポート22 / TCPをブロックしたことがわかりました。
インターネット経由でデバイスにアクセスしたい場合は、基本的に5つの可能性があります。
- コンピュータ間でネットワーク接続が確立されていない可能性があります。サーバーコンピュータのIPアドレスをpingしてみてください。パケットを受信できない場合は、両方のコンピュータのネットワーク接続を確認してください。
SSH サーバーが正しく構成されていない可能性があります。以下を介してデバイスにローカルにSSH接続を試みます(同じデバイスとユーザーから同じデバイスとユーザーへ)。
ssh localhost
サーバーコンピュータがルータを介してインターネットに接続されている場合、ポート転送が正しく設定されていない可能性があります。そのため、ルータのポート転送設定を確認してください。
- サーバーコンピュータのローカルファイアウォールが着信接続をフィルタリングしている可能性があります。ファイアウォールルールでポート22 / TCPからの着信接続を許可するか、一時的にファイアウォールを完全に無効にしてみてください。
一方または両方のISPは接続をフィルタリングできます。努力するサーバーのポートを変更してください。2222 と同様に、SSH サーバーを再起動し、SSH に新しいポートを使用します。
-p
次のように、コマンドのオプションを使用してクライアントコンピュータのポートを指定できます。ssh USER@HOST -p PORT
答え3
openssh-serverがインストールされている場合、ufwが有効になっていると仮定すると、ファイアウォールによってブロックされる可能性があります。
コンピュータ192.168.1.2からターゲットコンピュータ192.168.1.3に移動する場合ターゲットマシンで実行します... 192.168.1.2でsudo ufwallowを許可します。その反対側は楽です。
答え4
以下を確認してください。
- ポート22が開いており、接続をリッスンできます。
- OpenSSH または他の SSH プロセスがサーバーで実行されていることを確認します。
- SSH構成ファイルに適切な値が割り当てられていることを確認してください。