Bagaimana cara menghapus / menginstal ulang cygwin untuk menggunakan sshd?

17

Saya menginstal cygwin / sshd tanpa hasil yang baik. Saya menghapus direktori c: \ cygwin untuk menginstal ulang. Saya menghapus pengguna Administrator sshd dengan tangan.

Saya menginstal ulang cygwin lagi, lalu jalankan 'ssh-host-config -y'. Anehnya, ia tidak bertanya apa-apa tentang membuat pengguna baru. Dan prosedurnya sangat singkat.

$ ssh-host-config -y
 * Permintaan: Menimpa file / etc / ssh_config yang ada? (ya / tidak) ya
 Info: Membuat file default / etc / ssh_config
Query: Timpa file / etc / sshd_config yang ada? (ya / tidak) ya
 Info: Membuat file default / etc / sshd_config
 Info: Pemisahan hak istimewa diatur ke yes secara default sejak OpenSSH 3.3.
 Info: Namun, ini membutuhkan akun tidak istimewa yang disebut 'sshd'.
 Info: Untuk info lebih lanjut tentang pemisahan hak istimewa, baca / usr / share / doc / openssh
ME.privsep.
* Pertanyaan: Haruskah pemisahan hak istimewa digunakan? (ya / tidak) ya
*** Info: Memperbarui file / etc / sshd_config

*** Info: Konfigurasi host selesai. Selamat bersenang-senang!

Ketika saya menjalankan 'cygrunsrv -S sshd', saya mendapatkan kesalahan. "Win 32 error 1069: Layanan tidak memulai karena kegagalan masuk". Ini pesan yang masuk akal, ketika saya menghapus sshd sebagai pengguna, dan prosedur instal ulang tidak melakukan apa-apa lagi untuk itu.

Saya melihat ada sesuatu yang salah dengan penghapusan instalasi.

T: Bagaimana saya bisa menghapus hal yang berhubungan dengan sshd dengan sempurna sehingga saya dapat menginstalnya kembali?

prosseek
sumber
Jika semuanya gagal: superuser.com/questions/167219/…
ndemou

Jawaban:

37

Jika sshd sebelumnya telah diinstal pada sistem, prosedur pembersihan berikut harus dilakukan sebelum menjalankan 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
Kentgrav
sumber
Perhatikan bahwa, ketika sshd diinstal, shell cygwin harus dijalankan sebagai Administrator.
f.ardelian
3
Tidak ada file /etc/passwduntuk saya. Selain itu, ini berhasil!
John
Anda mengatakan "# Hapus sshd atau pengguna terkait (seperti cyg_server) dari / etc / passwd" OK. Tapi kemudian Anda berkata "# Hapus sshd atau pengguna yang direlakan (seperti cyg_server) dari sistem" Itu tampaknya akan berulang sendiri. Dan kemudian Anda mengatakan perintah net user di bawah garis itu. Tetapi perintah-perintah itu tidak menghapus pengguna dari sistem. Mereka menghapus layanan.
barlop
Dengan pengguna sistem, ia merujuk ke pengguna PC windows Anda. Dengan / etc / passwd pengguna yang ia maksudkan adalah pengguna yang didefinisikan dalam file ini untuk lingkungan cygwin Unix-y (jika ada). "Mereka perintah" melakukan pengguna delete: technet.microsoft.com/en-us/library/cc771865(v=ws.11).aspx
ndemou
4

Saya harus melakukan tiga langkah untuk membuatnya diinstal ulang.

  • hapus LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ sshd
  • jalankan 'sc delete sshd'
  • reboot

Masalahnya adalah saya tidak bisa login cygwin dari Mac, yang merupakan alasan tepat saya mencoba menginstal ulang cygwin.

Saya membuat utas lain tentang masalah ini. -> Saya tidak bisa masuk cygwin / ssh dari Mac

prosseek
sumber
Saya menemukan milik saya di ControlSet002 setelah pencarian cepat untuk kunci yang cocok "sshd"
ndemou
1

Melihat tautan ini

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

saran seseorang dari tautan di atas, tampaknya merupakan daftar periksa yang bagus, lengkap, tidak ada jalan pintas dan cepat, dan IIRC berhasil bagi saya.

Hapus semua file yang terkait dengan ssh dari / etc.
Hapus / var / kosong.
Hapus ssh log dari / var / log.
Hapus akun sshd dan cyg_server dari SAM Anda. Jatuhkan keduanya dari / etc / passwd.
Hapus layanan sshd. Mulai lagi dari awal.

Catatan- Di mana dikatakan "mulai dari awal", itu mungkin pembicaraan orang Amerika untuk memulai kembali, dalam hal ini, windows. Di mana dikatakan untuk menghapus layanan, Anda mungkin perlu atau ingin menghentikan layanan sebelum menghapusnya. Mungkin Anda tidak perlu memulai ulang, meskipun mungkin. (jadi Anda bisa saja restart jika masih tidak berhasil). Dan di mana dikatakan "SAM Anda" yang berarti tempat menyimpan pengguna windows - mereka ditampilkan di 'manajemen komputer' - cygwin ssh menambahkan pengguna di sana, saya melihat cyg_server dan pengguna sshd di sana, Anda dapat menghapusnya dari gui atau baris perintah. Dan menghentikan dan menghapus layanan, ada banyak perintah yang bisa. cygrunsrv, sc, net, dan dari mereka, saya belum melihat keuntungan dengan cygrunsrv. dan pria jay iniberpikir sc lebih dapat diandalkan untuk menghentikan atau menghapusnya, mungkin begitu. Jawaban lain telah Anda berikan kembali perintah untuk menghentikan dan menghapus layanan.

barlop
sumber