Làm cách nào để gỡ cài đặt / cài đặt lại cygwin để sử dụng sshd?


17

Tôi đã cài đặt cygwin / sshd mà không có kết quả tốt. Tôi đã xóa thư mục c: \ cygwin để cài đặt lại. Tôi đã xóa người dùng Quản trị viên sshd bằng tay.

Tôi cài đặt lại cygwin một lần nữa, sau đó chạy 'ssh-host-config -y'. Kỳ lạ thay, nó không hỏi bất cứ điều gì về việc tạo một người dùng mới. Và thủ tục thực sự ngắn.

$ ssh-host-config -y
 * Truy vấn: Ghi đè tệp hiện có / etc / ssh_config? (có / không) có
 Thông tin: Tạo tập tin mặc định / etc / ssh_config
Truy vấn: Ghi đè tệp hiện có / etc / sshd_config? (có / không) có
 Thông tin: Tạo tập tin mặc định / etc / sshd_config
 Thông tin: Phân tách đặc quyền được đặt thành có theo mặc định kể từ OpenSSH 3.3.
 Thông tin: Tuy nhiên, điều này đòi hỏi một tài khoản không có đặc quyền gọi là 'sshd'.
 Thông tin: Để biết thêm thông tin về phân tách đặc quyền đọc / usr / share / doc / openssh
ME.privsep.
* Truy vấn: Có nên sử dụng phân tách đặc quyền? (có / không) có
*** Thông tin: Đang cập nhật tệp / etc / sshd_config

*** Thông tin: Cấu hình máy chủ đã hoàn tất. Chúc vui vẻ!

Khi tôi chạy 'cygrunsrv -S sshd', tôi gặp lỗi. "Win 32 lỗi 1069: Dịch vụ không khởi động do lỗi đăng nhập". Đó là thông điệp hợp lý, vì tôi đã xóa sshd với tư cách là người dùng và quy trình cài đặt lại không làm gì cho điều đó một lần nữa.

Tôi thấy tôi đã có một cái gì đó sai với việc gỡ cài đặt.

Q: Làm thế nào tôi có thể gỡ cài đặt hoàn toàn những thứ liên quan đến sshd để tôi có thể cài đặt lại?


Nếu mọi thứ khác không thành công: superuser.com/questions/167219/
Ấn

Câu trả lời:


37

Nếu sshd đã được cài đặt trước đó trên hệ thống, quy trình dọn dẹp sau sẽ được thực hiện trước khi gọi 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

Lưu ý rằng, như khi sshd được cài đặt, vỏ cygwin phải được chạy với tư cách Quản trị viên.
f.ardelian

3
Không có tập tin /etc/passwdcho tôi. Ngoài ra, điều này đã làm việc!
Giăng

Bạn đã nói "# Xóa mọi sshd hoặc người dùng có liên quan (như cyg_server) khỏi / etc / passwd" OK. Nhưng sau đó, bạn nói "# Xóa bất kỳ người dùng sshd hoặc người dùng nào (như cyg_server) khỏi hệ thống" Điều đó dường như đang lặp lại với chính bạn. Và sau đó bạn nói các lệnh người dùng mạng bên dưới dòng đó. Nhưng những lệnh đó không xóa người dùng khỏi hệ thống. Họ xóa các dịch vụ.
barlop

Với người dùng hệ thống, anh ấy đang đề cập đến người dùng máy tính Windows của bạn. Với / etc / passwd người dùng đang đề cập đến người dùng được xác định trong tệp này cho môi trường Unix-y của cygwin (nếu có). "Những lệnh đó" sẽ xóa người dùng: technet.microsoft.com/en-us/l
Library / cc771865 (v = ws.11) .aspx

4

Tôi đã phải làm ba bước để làm cho nó được cài đặt lại.

  • xóa LOCAL_MACHINE \ HỆ THỐNG \ ControlSet001 \ services \ sshd
  • chạy 'sc xóa sshd'
  • khởi động lại

Vấn đề là tôi không thể đăng nhập cygwin từ Mac, đó là lý do chính xác tôi đã cố gắng cài đặt lại cygwin.

Tôi đã thực hiện một chủ đề khác về vấn đề này. -> Tôi không thể đăng nhập cygwin / ssh từ Mac


Tôi đã tìm thấy của tôi trong ControlSet002 sau khi tìm kiếm nhanh các khóa khớp với "sshd"
ndemou

1

Nhìn vào liên kết này

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

đề xuất của ai đó từ liên kết trên, dường như là một danh sách kiểm tra tuyệt vời, đầy đủ, không có phím tắt và nhanh chóng, và IIRC nó hoạt động với tôi.

Xóa tất cả các tệp liên quan đến ssh khỏi / etc.
Xóa / var / trống.
Xóa nhật ký ssh khỏi / var / log.
Xóa tài khoản sshd và cyg_server khỏi SAM của bạn. Thả cả từ / etc / passwd.
Hủy bỏ dịch vụ sshd. Bắt đầu lại.

Lưu ý- Trường hợp nó nói "bắt đầu lại", đó có thể là cuộc nói chuyện của người Mỹ để khởi động lại, trong trường hợp này là các cửa sổ. Trường hợp thông báo xóa dịch vụ, bạn có thể cần hoặc muốn dừng dịch vụ trước khi xóa dịch vụ. Có thể là bạn không cần khởi động lại, mặc dù bạn có thể. (vì vậy bạn chỉ có thể khởi động lại nếu nó vẫn không hoạt động). Và nơi nó nói "SAM của bạn" có nghĩa là nơi lưu trữ người dùng windows - chúng được hiển thị trong 'quản lý máy tính' - cygwin ssh thêm người dùng ở đó, tôi thấy người dùng cyg_server và sshd ở đó, bạn có thể xóa họ khỏi gui hoặc dòng lệnh. Và dừng lại và xóa một dịch vụ, có nhiều lệnh có thể. cygrunirv, sc, net và trong số đó, tôi chưa thấy lợi thế với cygrunirv. và anh chàng jay nàynghĩ rằng sc đáng tin cậy hơn trong việc dừng hoặc xóa chúng, có thể là như vậy. Các câu trả lời khác có bạn bao gồm các lệnh re để dừng và xóa dịch vụ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.