มีสองเครื่อง Linux, A และ B. สคริปต์ที่ทำงานบน A จำเป็นต้องสามารถ SSH เป็น B ดังนั้น A สร้างคีย์สาธารณะ อีกครั้งอาจเป็น id_rsa) เพื่อทำการเชื่อมต่อ SSH นั้น
หากสิ่งที่ฉันได้กล่าวไว้ข้างต้นไม่ถูกต้องหรือเข้าใจผิดโปรดเริ่มต้นด้วยการแก้ไขฉัน!
สมมติว่าฉันเพิ่มหรือลดเป้าหมาย:
ใช่
แต่ B ต้องการคีย์สาธารณะของ A เพื่อแสดงรายการในไฟล์ authorized_keys ของ B เพื่อให้ A สามารถเชื่อมต่อกับ B ได้
นอกจากนี้คุณยังสามารถลบ id_rsa.pub และ ssh ไปยัง B และมันจะยังใช้งานได้เพราะกุญแจสาธารณะถูกสร้างใหม่ด้วยการเชื่อมต่อ ssh แต่ละครั้งและไม่ได้เก็บไว้ใน id_rsa.pub ใด ๆ
A“ ให้” B รหัสสาธารณะของมันอย่างไร (id_rsa.pub) สิ่งนี้จะต้องเป็นกระบวนการที่ดำเนินการด้วยตนเองหรือเป็นไปโดยอัตโนมัติ? หากใช้เองจะมีกระบวนการอะไร หากอัตโนมัติคำสั่งคืออะไร
คู่มือ - สิ่งที่ต้องการ
จาก-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
หรือเพิ่มเติมด้วยตนเองเพื่อทำลายคำสั่งลง
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
จากนั้นใน B ตรวจสอบให้แน่ใจว่า ~ / .ssh มีอยู่แล้วทำ cat a.a >> ~/.ssh/authorized_keys
และคุณสามารถ cat_user_keys ของ B ก่อนและหลังเพื่อให้แน่ใจว่ามีการระบุคีย์
หรือคุณสามารถส่งอีเมล id_rsa.pub ไปยังบัญชีอีเมลจากนั้น B, B สามารถตรวจสอบอีเมลและผนวกเนื้อหาของ id_rsa.pub ลงในไฟล์ authorized_keys ของเขา
อัตโนมัติ
คำสั่ง ssh-copy-id
คุณจะต้องสามารถ ssh ในดังนั้นคุณต้องเข้าถึงรหัสผ่าน
แทนที่จะทำ ssh user @ host คุณทำ ssh-copy-id user @ host และคุณได้รับพร้อมท์ให้ใส่รหัสผ่านคุณป้อนเข้าไปคุณจะเข้าไปคัดลอกกุญแจสาธารณะแทน และครั้งต่อไปที่คุณทำ ssh user @ host มันจะใช้กุญแจ
เมื่อ B "รับ" กุญแจสาธารณะนี้จะไปหรือเก็บที่ไหน?
B's ~ / .ssh / authorized_keys
เมื่อเริ่มต้นการเชื่อมต่อ SSH ไปยัง B A "ใช้" คีย์ส่วนตัว (id_rsa) เป็นส่วนหนึ่งของการเชื่อมต่อนั้นอย่างไร
ดีฉันไม่ทราบมากเกี่ยวกับสิ่งนั้นปิดส่วนบนของหัวของฉัน แต่สิ่งที่ถูกเข้ารหัสด้วยคีย์เดียวสามารถถอดรหัสด้วยคีย์อื่นและการระบุตัวเองแตกต่างกันเล็กน้อยในการส่งข้อมูล .. และอาจมีบางอย่าง เกี่ยวกับรหัสชั่วคราวด้วย