Score:0

ปัญหาการเชื่อมต่อ SSH : จะเปลี่ยนการอนุญาตโฟลเดอร์ / ไฟล์ใน Windows เหมือนกับ Linux ได้อย่างไร

ธง vg

ฉันมีความยากลำบากในการเชื่อมต่อพีซีในพื้นที่ของฉันผ่าน SSH กับพีซีระยะไกลเครื่องอื่น ฉันตั้งค่ารหัสสาธารณะบนทั้งสองเครื่องในโฟลเดอร์ Authorized_keys ตามบทช่วยสอนนี้: https://help.ubuntu.com/community/SSH/OpenSSH/Keys แต่ฉันได้รับ

ปฏิเสธการอนุญาต (กระดานโต้ตอบ, กุญแจสาธารณะ)

ประเภทของข้อผิดพลาด ฉันอ่านวิธีแก้ปัญหาที่เป็นไปได้: /home/<user> หรือ ~/.ssh/authorized_keys สิทธิ์เปิดเกินไปตามมาตรฐาน OpenSSH คุณสามารถกำจัดปัญหานี้ได้โดยออกคำสั่งต่อไปนี้เพื่อเปลี่ยนการอนุญาตไฟล์ / โฟลเดอร์เหมือนใน Linux :

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

คำถามของฉันจะแก้ไขเหมือนกับสิทธิ์ที่กล่าวถึงโฟลเดอร์ที่เกี่ยวข้องใน Windows ได้อย่างไร

ขอบคุณ ! UPDATE : นี่คือฝั่งเซิร์ฟเวอร์บันทึก:

ไม่สามารถเปิดไฟล์: C:/ProgramData/ssh/administrators_authorized_keys error:2
5036 2021-10-18 11:16:06.413 debug1: ไม่สามารถเปิดคีย์ที่ได้รับอนุญาต '__PROGRAMDATA__/ssh/administrators_authorized_keys': ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
vidarlo avatar
ar flag
ตรวจสอบบันทึกของเซิร์ฟเวอร์สำหรับ *ทำไม*
Patrick Schulz avatar
vg flag
@vidarlo จะตรวจสอบบันทึกบนเซิร์ฟเวอร์ได้ที่ไหน โฟลเดอร์และไฟล์ใดที่จะตรวจสอบ
vidarlo avatar
ar flag
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration มีข้อมูลเกี่ยวกับเส้นทางบันทึก
Patrick Schulz avatar
vg flag
ตกลง ขอบคุณ แต่มันบอกว่า `ถ้าผู้ใช้อยู่ในกลุ่มผู้ดูแลระบบ %programdata%/ssh/administrators_authorized_keys จะถูกใช้แทน' ผู้ใช้ไคลเอนต์หรือผู้ใช้ของเซิร์ฟเวอร์ที่โฟลเดอร์โปรแกรมดาต้า... กล่าวถึงที่นี่ในความคิดเห็นของฉันตั้งอยู่ที่ใด
Patrick Schulz avatar
vg flag
@vidarlo ตรวจสอบการอัปเดตของฉันสำหรับบันทึก!
vidarlo avatar
ar flag
มันบอกว่าผู้ใช้ไม่ถูกต้อง มีผู้ใช้อยู่หรือไม่?
Patrick Schulz avatar
vg flag
ไม่ sry ตรวจสอบการอัปเดตใหม่ของฉัน มันเกี่ยวกับการเข้าถึงคีย์สาธารณะทางฝั่งเซิร์ฟเวอร์ ปัญหาเกี่ยวกับการอนุญาต (ฉันแก้ไขปัญหาผู้ใช้แล้ว!)
vidarlo avatar
ar flag
มันบอกว่า 'ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว'
Patrick Schulz avatar
vg flag
ฉันรู้ว่ามันพูดอะไร แต่ทำไม การเชื่อมต่อ ssh ใช้งานได้ แต่ผ่านกระบวนการซอฟต์แวร์อื่น จะส่งกลับข้อผิดพลาดนี้
vidarlo avatar
ar flag
ให้เรา [ดำเนินการสนทนาต่อในการแชท](https://chat.stackexchange.com/rooms/130610/discussion-between-vidarlo-and-patrick-schulz)
Score:1
ธง us

แม้ว่าการอนุญาตไฟล์ที่ไม่ถูกต้องอาจเป็นปัญหาและมักจะเกิดขึ้น แต่ก็ไม่ใช่สาเหตุเดียวที่ทำให้การเข้าสู่ระบบล้มเหลว

แทนที่จะพยายามแก้ไข โปรดตรวจสอบสาเหตุของปัญหาของคุณ
ตรวจสอบตัวอย่าง การบันทึกเซิร์ฟเวอร์ ssh สำหรับข้อความแสดงข้อผิดพลาดและใช้ข้อความเหล่านั้นเพื่อหาทางออกที่เหมาะสม

หากสิทธิ์ในไฟล์ของคุณ $env:USERPROFILE\.ssh\authorized_keys ไฟล์เป็นปัญหาจริง ๆ : ค้นหาอย่างรวดเร็วจริง ๆ เช่นพบ https://stackoverflow.com/a/50502015 ซึ่งมีรายละเอียดวิธีการตั้งค่า ssh ด้วยการตรวจสอบสิทธิ์คีย์สาธารณะบนโฮสต์ Windows

ตั้งค่าการอนุญาตให้ถูกต้อง (สำคัญ!!!):

  1. วิ่ง เริ่ม . เพื่อเปิด explorer ด้วยโฟลเดอร์ปัจจุบัน ($env:USERPROFILE\.ssh);
  2. คลิกขวา อนุญาต_คีย์, ไปที่ คุณสมบัติ -> ความปลอดภัย -> ขั้นสูง
  3. คลิก "ปิดการใช้งานการสืบทอด";
  4. เลือก "แปลงสิทธิ์ที่สืบทอดมาเป็นสิทธิ์ที่ชัดเจนในวัตถุนี้" เมื่อได้รับแจ้ง
  5. (จริงๆ สำคัญจริงๆ) ลบสิทธิ์ทั้งหมดในไฟล์ยกเว้นไฟล์ ระบบ และ ตัวคุณเอง. จะต้องมี สองอย่างแน่นอน รายการสิทธิ์ในไฟล์ คำแนะนำบางอย่างแนะนำให้เรียกใช้ไฟล์ ซ่อมแซม AuthorizedKeyPermission $env:USERPROFILE\.ssh\authorized_keys
  • นี้จะพยายามเพิ่ม sshd ผู้ใช้ไปยังรายการสิทธิ์และมัน จะ ทำลายการรับรองความถูกต้อง ดังนั้น อย่าทำเช่นนั้น หรืออย่างน้อยก็ไม่เห็นด้วยในการเพิ่ม sshd ผู้ใช้) ทั้งคู่ ระบบ และตัวคุณเองควร สามารถควบคุมไฟล์ได้อย่างเต็มที่

ดูเพิ่มเติม: https://github.com/PowerShell/Win32-OpenSSH/wiki/Security-protection-of-various-files-in-Win32-OpenSSH

Patrick Schulz avatar
vg flag
ขอบใจ ! จะตรวจสอบบันทึกบนเซิร์ฟเวอร์ได้ที่ไหน โฟลเดอร์และไฟล์ใดที่จะตรวจสอบ
Patrick Schulz avatar
vg flag
นอกจากนี้ฉันยังวางรหัสสาธารณะไว้ในไฟล์ __PROGRAMDATA__/ssh/administrators_authorized_keys เพราะลูกค้าเป็นผู้ดูแลระบบ (นี่เป็นไปตามบทช่วยสอน) แต่ดูเหมือนว่าสิ่งที่ไม่ถูกต้องตามโพสต์ SO ที่คุณอ้างถึงฉันในคำตอบของคุณ
us flag
ขึ้นอยู่กับเวอร์ชัน: ดู https://github.com/PowerShell/Win32-OpenSSH/wiki/Logging-Facilities

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา