SSH ไม่สามารถสร้างไดเรกทอรี /home/USERNAME/.ssh


7

สคริปต์ของฉันดำเนินการคำสั่งด้านล่าง:

command = os.system('rdiff-backup --exclude "**.dropbox**" --exclude "**.ini**" --remote-schema "ssh -o UserKnownHostsFile=/cygdrive/c/Users/Adam/.ssh/known_hosts -i /cygdrive/c/Users/Adam/.ssh/id_rsa %s -p1019 rdiff-backup --server" C:/Users/Adam/Dropbox pi@192.168.0.5::/mnt/disk1/Adam/Dropbox')

อย่างที่คุณเห็นฉันได้บอกไปแล้วว่าจะหาโฟลเดอร์ known_hosts ได้ที่ไหนและบอกว่าคีย์อยู่ที่ไหน - โดยไม่มีคำถามสองข้อนี้ฉันจะถูกถามอย่างต่อเนื่องเกี่ยวกับการเพิ่มเซิร์ฟเวอร์ของฉันไปที่ known_hosts ทุกตัว สำหรับแต่ละคนและทุกคนทำงาน เป็นเรื่องน่าละอายที่ SSH ไม่สามารถหาสิ่งเหล่านี้ได้อย่างอิสระสมมติฐานของฉันคือมันทำงานได้จากไดเรกทอรีเดียวกันเสมอ C:\Users\Adam\.ssh?

Anywho ข้อผิดพลาดเดียวที่ฉันได้รับตอนนี้คือ Could not create directory '/home/Adam/.ssh' - ฉันตรวจสอบให้แน่ใจตัวแปร HOME ของฉันสำหรับผู้ใช้ปัจจุบันของฉันถูกต้องแล้ว แต่ก็ยังหาโฟลเดอร์. ssh สคริปต์ทำงานไม่มีปัญหามันเป็นเพียงข้อความแสดงข้อผิดพลาดที่น่ารำคาญ ฉันใช้แพคเกจ SSH จาก Cygwin ฉันไม่แน่ใจว่ามันสำคัญขนาดไหน? นอกจากนี้ฉันสร้าง .ssh ไดเรกทอรีที่ใช้ไฟล์ ssh.exe ของ Rsync ไม่ใช่ของ Cygwin สิ่งนี้สำคัญหรือไม่

คำตอบ:


11

ฉันพบคำตอบสำหรับโซลูชันของฉันใน โพสต์บล็อกนี้ .

"ก่อนอื่นให้ค้นหาไฟล์ที่เรียกว่า passwd ในของคุณ C:\path\to\cygwin\etc ไดเรกทอรีและเปิดด้วย wordpad ประการที่สองแทนที่ข้อความ /home/YOUR_NAME กับ /cygdrive/c/Documents and Settings/YOUR_NAME สุดท้ายให้บันทึกไฟล์ "


ปรับปรุง

บางคนรายงานว่าการเพิ่ม% USERPROFILE% เป็นค่าให้กับตัวแปรระบบเรียกว่า "HOME"


"การเข้าถึง C: \ cygwin \ etc \ passwd ถูกปฏิเสธ" (พยายามเป็นผู้ดูแลระบบด้วย) แก้ไข: ทำให้ตัวเองเป็นเจ้าของและให้สิทธิ์ตัวเอง ใช้งานได้ทันที
etherous

3
ฉันมีปัญหาเดียวกัน แต่หาไม่เจอ passwd ไฟล์
Mhd.Tahawi

2
ฉันเดาว่าคุณสามารถสร้างได้ "mkpasswd -l & gt; / etc / passwd" ดำเนินการในเทอร์มินัล bash ของ Cygwin ไม่ใช่ cmd
adampski

2
สร้างไฟล์ passwd โดยใช้ mkpasswd, แทนที่ข้อความที่กล่าวถึงเป็นอันใหม่, ปัญหายังคงมีอยู่: ไม่สามารถหาเส้นทาง /home/USER/.ssh
maks

1
การเพิ่มตัวแปร HOME ในเส้นทางช่วยแก้ไขปัญหาให้ฉันได้ หน้าแรก: C: \ ชื่อผู้ใช้ของคุณ
Midhun VP

0

ฉันมีปัญหาเดียวกันและตั้งค่า $ HOME เป็น% USERPROFILE% แล้ว นี่คือสิ่งที่ได้ผลสำหรับฉัน:

เปลี่ยนบรรทัดในไฟล์ /etc/nsswitch.conf ไปที่:

db_home: windows cygwin desc

(จากคำตอบนี้)


-1

ตามข้อเสนอแนะของ @MidhunVP ข้อผิดพลาดนี้จะถูกเรียกให้ฉันในภายหลังหลังจากฉันลบตัวแปรสภาพแวดล้อม HOME

Control Panel > Edit Environment Variables > New...

Variable Name:  HOME
Variable Value: C:\Users\YOUR_NAME
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.