Score:1

วิธีติดตั้งพวงกุญแจ ssh บน Ubuntu ด้วย WSL

ธง in

โปรดช่วยฉันเข้าใจวิธีการติดตั้งพวงกุญแจ ssh บน Ubuntu ของฉันภายใต้ WSL เพื่อให้ฉันสามารถกำหนดค่าของฉันได้ .ssh/config ไฟล์เพื่อใช้พวงกุญแจ ฉันได้ลองแก้ไขไฟล์ปรับแต่งที่ฉันสร้างเองในโฟลเดอร์ .ssh เพื่อเพิ่ม Usekeychain แต่ระบบไม่รู้จักว่าเป็นคำสั่ง

ฉันลองถอนการติดตั้งเซิร์ฟเวอร์ ssh และติดตั้งใหม่ด้วยตนเอง แต่ไม่มีอะไรเปลี่ยนแปลง ฉันเพิ่งติดขัดในการเพิ่มคีย์ส่วนตัว/สาธารณะในพวงกุญแจตั้งแต่นั้นเป็นต้นมา

สาระสำคัญทั้งหมดของสิ่งที่ฉันทำคือสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของฉันจากคอมพิวเตอร์ส่วนตัวโดยไม่ต้องเพิ่มรหัสส่วนตัวทุกครั้งที่ฉันต้องการลงชื่อเข้าใช้เซิร์ฟเวอร์ แต่ฉันติดอยู่ที่วิธีการดำเนินการ ที่ฉันเรียนรู้จากออนไลน์บุคคลนั้นตั้งค่าไฟล์กำหนดค่าของเขาเช่น:

เจ้าภาพ*
    AddKeysToAgent ใช่
    ใช้พวงกุญแจ ใช่
    IdentityFile ~/.ssh/[ไฟล์ github ของเขา]

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

ฉันไม่รู้วิธีเพิ่มคีย์ในพวงกุญแจและวิธีตั้งค่าไฟล์กำหนดค่า ssh ให้เป็นอัตโนมัติ ครูของฉันเกี่ยวกับฟรอนต์เอนด์มาสเตอร์กำลังใช้ Metatron CLI

ฉันแค่สับสนและเครียด ครั้งแรกของฉันกับแบ็กเอนด์และมันน่าหงุดหงิดมาก จากปัญหาหนึ่งไปสู่อีกปัญหาหนึ่ง ปัญหาก่อนหน้านี้ของฉันเป็นเพราะฉันใช้ WSL

โปรดช่วยฉันในเรื่องนี้ ขอบคุณ!

user535733 avatar
cn flag
โปรดพยายามใช้คำที่ถูกต้อง ดูเหมือนว่าคุณกำลังถามวิธีเพิ่มรหัสสาธารณะของคุณไปยังเซิร์ฟเวอร์ อย่างไรก็ตาม คุณอาจไม่ใช่ เพราะ "พวงกุญแจ" และ "ไฟล์กำหนดค่า" อาจหมายความว่าคุณกำลังพยายามทำอย่างอื่นโดยสิ้นเชิง เราไม่สามารถให้คำตอบที่ชัดเจนสำหรับคำถามที่ไม่ชัดเจนได้
ar flag
ไม่ชัดเจนว่าคุณกำลังพยายามทำอะไร โปรด[แก้ไขคำถามของคุณ](https://askubuntu.com/posts/1356352/edit) และเพิ่มข้อมูลต่อไปนี้ คุณกำลังพยายามตั้งค่า SSH เพื่อให้คุณอยู่ที่อื่นและเข้าถึง WSL จากคอมพิวเตอร์เครื่องอื่นได้หรือไม่ หรือคุณกำลังพยายามตั้งค่า SSH เพื่อให้คุณสามารถนั่งอยู่หน้า WSL และเชื่อมต่อกับคอมพิวเตอร์ที่อยู่ห่างไกล
Score:1
ธง vn

ส่วนหนึ่ง อย่างน้อยปัญหาของคุณก็คือว่า ใช้พวงกุญแจ เป็นตัวเลือกการกำหนดค่าเฉพาะของ 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 แสดง "หยุด") จากนั้นข้อความรหัสผ่านจะต้องป้อนอีกครั้งในการใช้งานครั้งต่อไป

Abayomi Usman avatar
in flag
ขอบคุณมาก ฉันสามารถเพิ่มกุญแจของฉันในพวงกุญแจได้ และตอนนี้มันกำลังทำงานอยู่ ขอบคุณมาก! นั่นหมายความว่าฉันไม่จำเป็นต้องสร้างไฟล์ปรับแต่งในโฟลเดอร์ .ssh ใช่ไหม
NotTheDr01ds avatar
vn flag
@AbayomiUsman True ด้วยการตั้งค่า `keychain` ไฟล์ปรับแต่งนั้นไม่ได้เพิ่มอะไรให้กับสถานการณ์ของคุณ ดังนั้นคุณไม่ต้องสนใจมัน
Score:0
ธง us

ฉันถือว่าคุณพยายามสร้างคู่คีย์และเพิ่มให้กับคุณ ssh-agent หากเป็นเช่นนั้นนี่คือคำแนะนำของคุณ ถ้าไม่ เราทุกคนจะต้องการข้อมูลเพิ่มเติม

คำแนะนำที่ง่ายที่สุด

  1. ซีดี ~/.ssh
  2. ssh-keygen (ตอบคำถามที่เกี่ยวข้อง) ตอนนี้เราต้องเพิ่มรหัสให้กับ ssh-agent
  3. อีวาล ssh-ตัวแทน -s
  4. ssh-เพิ่ม nameOfYourKey

ตอนนี้คุณมีรหัสที่ระบบของคุณสามารถใช้ได้ ส่งออกไปยังระบบระยะไกลของคุณและตั้งค่าไฟล์กำหนดค่าของคุณ

Abayomi Usman avatar
in flag
นั่นคือปัญหารากของฉัน กำลังตั้งค่าไฟล์ config โปรดสอนฉันด้วย การเพิ่มคีย์ของฉันไปยัง ssh-agent เป็นปัญหารองของฉัน และคุณเพิ่งสั่งฉันว่าต้องทำอย่างไร แต่ก่อนที่ฉันจะทำอะไรในตอนนี้ ฉันไม่รู้ว่ามันเป็นคีย์สาธารณะของฉันหรือไม่ ฉันควรจะเพิ่มลงใน ssh-agent หรือรหัสส่วนตัวของฉัน สิ่งสำคัญทั้งหมดของสิ่งที่ฉันทำคือสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของฉันจากคอมพิวเตอร์ส่วนตัวของฉันโดยไม่ต้องเพิ่มรหัสส่วนตัวทุกครั้งที่ฉันต้องการลงชื่อเข้าใช้เซิร์ฟเวอร์
Abayomi Usman avatar
in flag
ssh-ตัวแทน -s SSH_AUTH_SOCK=/tmp/ssh-bqzi9yz6mZsX/agent.16952; ส่งออก SSH_AUTH_SOCK; SSH_AGENT_PID=16953; ส่งออก SSH_AGENT_PID; echo ตัวแทน pid 16953; abayomi@AbayomiUsman:~/.ssh$ ssh-add balfyp ไม่สามารถเปิดการเชื่อมต่อกับตัวแทนการรับรองความถูกต้องของคุณ
Abayomi Usman avatar
in flag
นั่นคือสิ่งที่ฉันได้รับเมื่อพยายามทำตามคำแนะนำที่คุณให้ไว้ ฉันไม่สามารถเพิ่มรหัสส่วนตัวได้สำเร็จ ฉันลองเพิ่มรหัสสาธารณะแทน ฉันได้รับข้อผิดพลาดเดียวกัน
Bradley Armstrong avatar
us flag
นี่คือวิดีโอ YouTube ที่จะแนะนำคุณผ่านทั้งหมด https://www.youtube.com/watch?v=5JvU9wcZSbA&list=PLT98CRl2KxKGXz6l_5mpNKi-vJyR4MQ4e&index=2
TWA avatar
fr flag
TWA
หากคุณพยายามใส่สิ่งนี้ใน .bashrc (หรือ .zshrc ฯลฯ) ให้ใส่ backticks รอบคำสั่ง eval และวิธีนี้น่าจะใช้ได้ แบบนี้ eval \`ssh-agent -s\`

โพสต์คำตอบ

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