1

RATを使用して海外のWindowsXPProボックスでCygwinを介してSSHdをセットアップし、opensshパッケージをインストールから除外しました。cywinシェル(c:\ cywinから)を実行して実行しました。これは、安全で適切に転送されていることがわかっているポートの下にありますが、その番号は共有しません。これは一般的なポートではありませんが、40000未満です。ファイアウォールがオフになっているなどです。ボックスで作成された最初の管理者アカウントを使用しています。(完全な管理者です)次のコマンドを実行しました

chmod +r /etc/passwd
chmod +r /etc/group
hmod 777 /var
/*Created New Admin User Account To Be Used via SSH*/
mkpasswd -cl > /etc/passwd
mkgroup --local > /etc/group

ローカルで接続できますが、外部で接続することはできません。私は自分のポートなどが問題ないことを知っています。

私は本当にこのトンネルを必要としているので、起こりうる問題:P

4

2 に答える 2

1

ローカルに接続するということは、試したことを意味しますssh localhostか? その場合、sshd を 127.0.0.1 インターフェースにのみバインドした可能性があります。/etc/sshd_config で次の行を確認します。

ListenAddress 0.0.0.0

次に、localhost/127.1 ではなく、実際の IP アドレスに ssh 接続してテストします。

それが機能する場合は、NAT またはファイアウォールに問題がある可能性がありますが、問題は Cygwin にはありません。

于 2009-12-21T16:48:21.393 に答える
1

以下を試してみてはいかがでしょうか。

1)ローカルで動作すると言いましたが、127.0.0.1 / localhostに接続してポートが正常であることを確認し、「SSHハンドシェイク」を取得します。たとえば、ポート 1234 を使用する場合は、次を実行できます。

telnet ローカルホスト 12345

次のようなものを取得する必要があります。

SSH-2.0-OpenSSH_5.1p .....

2) リモート ホストからのポートに問題がないことを確認します。リモート
ホスト から再度 telnet を実行し、SSH プロンプトが表示されるかどうかを確認します。

上記を実行できれば、サーバーが正常にリッスンしていることがわかります。それでもリモートから接続できない場合は、署名に問題がないことを確認してください。たとえば、クライアントの known_hosts(2) などを削除します。

Windows では、sshd はコマンド ラインまたはローカル ユーザー アカウントからのように、別の「環境/シェル」で実行されることに注意してください。指定したユーザーまたはローカル システム アカウントとして実行するようにサービスをセットアップできるため、「アカウントの環境」が正常であることを確認してください。デバッグする 1 つの方法は、Interact with Desktop を有効にしてローカル システム アカウントを有効にすることです。その後、cygwin サービス インストール ツールを使用して、レジストリに「-d」スイッチを追加できます。いくつかの情報については、このリンクを参照することもできます。

「/usr/share/doc/Cygwin/openssh.README」に従えば、問題なく動作するはずです。このドキュメントをGoogleで検索することもできます。

于 2009-05-30T12:35:02.787 に答える