
最近 SSH に興味を持ち、Linux ラップトップに SSH サーバーを設定しようとしました。Enlightenment WM を搭載した Ubuntu のバージョンである moonOS を実行しています。
まず、「sudo apt-get install openssh-server」を実行しました。すべて正常です。次にルーターの設定を確認しましたが、「ポート転送」という設定は明示的には見つかりませんでしたが、SSH を有効にするチェックボックスがありました。このチェックボックスをオンにして、ポートを 22 に設定しました。その後、「ssh localhost」を試したところ、正常に接続されました。
次に、www.whatismyip.com を使用して IP アドレスを確認し、WinXP ラップトップで PuTTY を実行し、IP アドレス、ポートを入力し、SSH を選択するなどしました。すると、PuTTY は「接続が拒否されました」と表示しました。わかりました。ネットブックで Jolicloud LiveUSB を起動し、「ssh [ユーザー名]@[IP アドレス]」を実行しました。再び、接続が拒否されました。
そこで私はインターネットにアクセスし、OpenSSH のドキュメントを調べました。推測で、moonOS ラップトップで「sshd」を実行してみましたが、「sshd re-exec には絶対パスでの実行が必要です」という応答が返されるだけでした。
助けてください。ここで何を間違っているのか全く分かりません。
答え1
sshd re-exec は絶対パスで実行する必要があります"
その部分はフルパスで実行します。例えば
/usr/sbin/sshd
単にsshd
答え2
どのようなタイプのルーターをお持ちですか? ポート 22 をラップトップに転送するのではなく、ルーターで SSH を有効にしているようです。
TCP ポート 22 のトラフィックをラップトップの IP に転送する必要があります。
答え3
知っておくべき点としては、何らかの理由で多くのルーターがループアウトして内部アドレスに戻ることを許可しないということです。
つまり、両方のコンピューターが同じネットワーク上にある場合、パブリック IP アドレスに SSH 接続できず、ポートが内部 IP に転送される可能性があります。
これについてはあまり詳しくありませんが、先週この問題に遭遇し、成功するためにはローカル ネットワーク外のコンピューターでテストを実行する必要がありました。
答え4
非常に古いスレッドですが、本当にエレガントな回答をしたいと思います。
sshd はすでに $PATH に含まれているので、これを再実行する簡単な方法を次に示します。
$ `which sshd`
なぜこれが機能するのでしょうか? バックティックは の出力を置き換えwhich
、出力は の絶対パスになりますsshd
。