web-dev-qa-db-ja.com

sshdを使用するためにcygwinをアンインストール/再インストールする方法は?

Cygwin/sshdをインストールしましたが、良い結果は得られませんでした。再インストールするためにc:\ cygwinディレクトリを削除しました。 sshd管理者ユーザーを手動で削除しました。

Cygwinを再インストールしてから、「ssh-Host-config -y」を実行しました。奇妙なことに、それは新しいユーザーを作ることについて何も尋ねません。そして、手順は本当に短いです。

 $ ssh-Host-config -y 
 * Query:Overwrite existing/etc/ssh_config file?(yes/no)yes情報:デフォルトの/ etc/ssh_configファイルを作成しています
クエリ:既存の/ etc/sshd_configファイルを上書きしますか?(yes/no)yes =情報:デフォルトの/ etc/sshd_configファイルを作成しています
情報:OpenSSH 3.3以降、特権の分離はデフォルトでyesに設定されています。情報:ただし、これには「sshd」と呼ばれる非特権アカウントが必要です。
情報:特権分離の詳細については、次を参照してください/ usr/share/doc/openssh 
 ME.privsep。
 *クエリ:特権の分離を使用する必要がありますか? (はい/いいえ)はい
 ***情報:/ etc/sshd_configファイルを更新しています
 

***情報:ホストの設定が完了しました。楽しんで!

「cygrunsrv -S sshd」を実行すると、エラーが発生します。 「Win 32エラー1069:ログオンに失敗したため、サービスを開始できませんでした」。私はユーザーとしてsshdを削除したので、それは妥当なメッセージです。再インストール手順では、何もしませんでした。

アンインストールで問題が発生したようです。

Q:sshd関連のものを完全にアンインストールして、再インストールできるようにするにはどうすればよいですか?

17
prosseek

再インストールするには、3つの手順を実行する必要がありました。

  • lOCAL_MACHINE\SYSTEM\ControlSet001\services\sshdを削除します
  • 「sc delete sshd」を実行します
  • リブート

問題は、Macからcygwinにログインできないことです。これが、cygwinを再インストールしようとしたまさにその理由です。

この問題について別のスレッドを作成しました。 -> Macからcygwin/sshにログインできない

4
prosseek

Sshdが以​​前にシステムにインストールされている場合は、ssh-Host-configを呼び出す前に、次のクリーンアップ手順を実行する必要があります。

# Remove sshd service
cygrunsrv --stop sshd
cygrunsrv --remove sshd

# Delete any sshd or related users (such as cyg_server) from /etc/passwd
#   (use your favorite editor)

# Delete any sshd or related users (such as cyg_server) from the system
Net User sshd /delete
Net User cyg_server /delete
37
Kentgrav

このリンクを見て

https://www.cygwin.com/ml/cygwin/2014-03/msg00315.html

上記のリンクからの誰かの提案は、素晴らしいチェックリストであり、網羅的であり、ショートカットがなく、迅速であるように思われ、IIRCは私にとってうまくいきました。

/ etcからsshに関連するすべてのファイルを削除します。
/var/emptyを削除します。
/var/logからsshログを削除します。
SAMからsshdおよびcyg_serverアカウントを削除します。/etc/passwdから両方を削除します。
sshdサービスを削除します。最初からやり直してください。

注-「最初からやり直す」と書かれている場合、それは再起動のアメリカの話かもしれません。この場合はWindowsです。サービスを削除すると表示されている場合は、削除する前にサービスを停止する必要がある場合があります。再起動が必要ない場合もあります。 (したがって、それでも機能しない場合にのみ再起動できます)。そして、「あなたのSAM」がWindowsユーザーを格納する場所を意味する場所-それらは「コンピューター管理」に表示されます-cygwin sshがそこにユーザーを追加します、そこにcyg_serverおよびsshdユーザーが表示されます。guiまたはコマンドラインからそれらを削除できます。サービスを停止して削除すると、できるコマンドがたくさんあります。 cygrunsrv、sc、net、およびこれらのうち、私はcygrunsrvでの利点を見たことがありません。そしてこれ jay guy は、scを停止または削除する際にscの方が信頼性が高いと考えています。その他の回答として、サービスを停止および削除するreコマンドについて説明しました。

1
barlop