PuTTY を使用して、インターネット経由で Windows から Linux に接続したいと考えています。これにより、友人が私の Linux (Ubuntu) でシェル スクリプト ファイルを実行できるようになります。Windows 7、Linux、VirtualBox でこれを試しましたが、次のメッセージが表示されます。接続拒否。
答え1
インターネット経由で、putty を使用して Windows から Linux に接続したいと考えています。Windows 7、Linux、VirtualBox でこれを試しましたが、「接続が拒否されました」と表示されます。
これは Windows や Linux などとはまったく関係ありません。すべてネットワークの問題です。説明されているようなことを実行するには、インターネット接続が外部からのネットワーク接続を許可していることを確認する必要があります。確認する必要がある主な 2 つの点は次のとおりです。
- リモートホストに ping できますか?
- リモート ホストの SSH ポート 22 は開いていますか?
1. リモート ホストに ping できるかどうかを確認します。
システム外部のシステムにアクセスできる場合は、次のチェックを行う必要があります。まず、次のようにして外部からホストの IP アドレスに ping を実行できますか。123.456.789.0
例:
ping 123.456.789.0
ping が返ってこない場合は、そこに問題があります。応答が返ってきたら、それは良いことです。
2. リモート ホストでポート 22 が開いているかどうかを確認します。
nmap
ここで、次のように使用して SSH ポートが開いているかどうかを確認します。再度123.456.789.0
、例として使用します。
nmap 123.456.789.0 -p 22
開いている場合、出力は次のようになります。
Starting Nmap 6.25 ( http://nmap.org ) at 2014-10-23 09:46 EDT
Nmap scan report for 123.456.789.0 (123.456.789.0)
Host is up (0.15s latency).
PORT STATE SERVICE
22/tcp open ssh
どちらかが失敗すると、リモート ホストに接続できなくなります。解決方法は、ホスト マシンのネットワーク設定によって異なります。ファイアウォールが組み込まれたルーターを使用している場合は、ポート 22 を開くか、ルーターのポート 22 からマシンへのすべてのネットワークをマップする必要があります。ただし、これはすべて設定に固有のものであるため、手順を詳しく説明することはできません。これらは基本的な概念にすぎません。
答え2
SSH ポートを Linux マシンの内部アドレスにポート転送する必要があります。デフォルトのポートは 22 です。また、sshd_config ファイルですべての IP を許可していることを確認する必要があります。
答え3
接続拒否のエラーが表示される場合は、LinuxマシンにOpen-sshサーバーが設定されておらず、クライアントマシンからのリクエストを受け入れることができないことを意味します。
debainユーザーのコマンドは
sudo apt インストール openssh-server
答え4
Puttyで「接続が拒否されました」と表示される場合は、次の要因を確認してください。
Linuxマシンにファイアウォールが設定されているかどうかを確認し、ファイアウォールのルールにマシンのIPアドレスを追加して、PuTTY経由のリモート接続を許可してください。
接続をブロックしているローカルファイアウォールまたはゲートウェイファイアウォールがあるかどうかを確認し、ある場合は接続を許可するファイアウォールルールを追加してください。
接続に正しいポート番号を使用しているかどうかを確認してください