ส่วนหนึ่ง อย่างน้อยปัญหาของคุณก็คือว่า ใช้พวงกุญแจ
เป็นตัวเลือกการกำหนดค่าเฉพาะของ MacOS ซึ่งจะสั่งให้เพิ่มกุญแจปลดล็อคไปยังพวงกุญแจ MacOS (ส่วนหนึ่งของระบบปฏิบัติการนั้นที่สามารถจัดเก็บได้อย่างปลอดภัย) ดังนั้นเราจึงสันนิษฐานได้ว่าผู้สอนของคุณใช้ Mac ดูเหมือนว่า ssh เวอร์ชัน Mac จะอ่านพวงกุญแจ OS ซึ่งโดยทั่วไปแล้วจะถูกปลดล็อกเมื่อใช้งานครั้งแรกทั่วทั้งระบบปฏิบัติการ ความเข้าใจของฉันคือมีสิ่งเทียบเท่าภายใต้ Ubuntu เช่น Gnome Keyring แต่สิ่งนี้ใช้ไม่ได้กับ WSL
เริ่มจากความจริงที่ว่าคุณจะต้องลบตัวเลือกการกำหนดค่าเฉพาะ MacOS นั้นภายใต้ Ubuntu เป็นอย่างน้อย
หากผู้สอนของคุณให้ไฟล์การกำหนดค่านั้นแก่นักเรียนเป็นตัวอย่าง พวกเขาควรทำอย่างถูกต้องด้วย:
เจ้าภาพ*
ละเว้นการใช้งานที่ไม่รู้จักKeychain
AddKeysToAgent ใช่
ใช้พวงกุญแจ ใช่
IdentityFile ~/.ssh/[ไฟล์ github ของเขา]
ซึ่งจะทำให้สามารถทำงานได้ทั้งบน Mac และส่วนที่เหลือ (90%+) ของโลก
ภายใต้ WSL Ubuntu คุณ จะ ต้องป้อนข้อความรหัสผ่านอย่างน้อยหนึ่งครั้งในแต่ละเซสชันเพื่อเพิ่มเข้าไป ssh-ตัวแทน
. หากคุณเรียกใช้อินสแตนซ์เชลล์หลายรายการ โดยทั่วไปคุณจะต้องใช้อินสแตนซ์เชลล์ใหม่ ssh-ตัวแทน
การเรียกใช้ในแต่ละเชลล์
หรือคุณสามารถติดตั้ง พวงกุญแจฟันทู ซึ่งสามารถ (เพิ่มเติม) ตั้งค่าการเชื่อมต่อได้อย่างง่ายดาย ssh-ตัวแทน
ในแต่ละอินสแตนซ์ของเชลล์ สิ่งนี้ทำให้คุณสามารถป้อนข้อความรหัสผ่านเพียงครั้งเดียวตราบเท่าที่อินสแตนซ์ WSL ทำงานอยู่
sudo apt-get ติดตั้งพวงกุญแจ
และเพิ่มสิ่งต่อไปนี้ให้กับคุณ ~/.bashrc
:
eval `พวงกุญแจ --eval --agents ssh id_rsa`
ดู เว็บไซต์พวงกุญแจอย่างเป็นทางการ สำหรับคำแนะนำทั้งหมด
โปรดทราบว่า เมื่ออินสแตนซ์ WSL Ubuntu สิ้นสุดลง (wsl -l -v
แสดง "หยุด") จากนั้นข้อความรหัสผ่านจะต้องป้อนอีกครั้งในการใช้งานครั้งต่อไป