-bash: cd: .ssh /: ปฏิเสธการอนุญาต


13

เมื่อฉันพิมพ์cd .sshใน terminal -bash: cd: .ssh/: Permission deniedก็กลับมาพร้อมกับ ตอนนี้ฉันไม่สามารถเพิ่มคีย์ ssh ของฉันไปที่ ssh ได้

เมื่อฉันพิมพ์มันบอกว่าssh-add ~/.ssh/idname/Users/Dan/.ssh/idname: Permission denied

ฉันคิดว่ามันเกี่ยวกับการพิมพ์ls -dเพราะมันใช้ได้ก่อนที่ฉันจะพิมพ์ลงในเทอร์มินัล?


อะไรคือผลลัพธ์ของid;ls -ld ~/.ssh?
michas

คำตอบ:


24

เนื่องจากคุณมี "สิทธิ์การใช้งานถูกปฏิเสธ" ในไดเรกทอรีจึงเป็นไปได้ว่าไดเรกทอรีไม่มีสิทธิ์ดำเนินการ ในทำนองเดียวกันในการสำรวจทรีไดเรกทอรีเพื่อรับไฟล์คุณต้องมีสิทธิ์ดำเนินการในแต่ละไดเรกทอรีระหว่างรูทและไฟล์ (ดังนั้นจึงเป็นข้อผิดพลาดเดียวกันสำหรับคำสั่งอื่น)

ลองตั้งค่าสิทธิ์ดำเนินการในไดเรกทอรี

chmod u+xr,go-rwx ~/.ssh

จากนั้นดูว่าคุณสามารถเรียกใช้คำสั่งเหล่านั้นอีกครั้ง


ช่างเป็นคำสั่งที่ง่ายและสง่างาม ทำงานได้ทันทีบน Mac ของฉัน!
IgorGanapolsky

ข้อเสียเปรียบchmod u+xr,go-rwxคือผู้ใช้ต้องยืนยันการตั้งค่าใดที่ต้องเพิ่มหรือลบออกก่อน chmod 1755ในทางกลับกันก็เป็นที่ครอบคลุมมากขึ้นกว่าการใช้รหัสตัวเลขเช่น
noobninja

1

นอกจากนี้ในการตอบ Arcege ของคุณยังสามารถใช้คำสั่ง (โดยไม่ใส่ชื่อผู้ใช้อื่น) ช่วยให้คุณสามารถเรียกใช้คำสั่งในฐานะผู้ใช้ super (ราก) ให้คุณเป็น sudo เอ้อ (ชื่อผู้ใช้ของคุณอยู่ในกับช่องที่ถูกต้อง) และรู้รหัสผ่านสำหรับผู้ใช้ที่เปิดใช้งาน sudo
sudo su <enter password> cd .ssh
sudo/etc/sudoers

คำเตือน: การ
ใช้งานในฐานะผู้ใช้ขั้นสูงอาจเป็นอันตรายหากคุณไม่รู้ว่ากำลังทำอะไรอยู่ คุณอาจแก้ไขหรือทำลายไฟล์สำคัญโดยไม่ได้ตั้งใจ ใช้sudoด้วยความระมัดระวัง


ใช่สิ่งนี้ใช้ได้ผลเมื่อchmodไม่ใช้เล่ห์เหลี่ยม
Pro Q
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.