Score:0

มีวิธีใดบ้างที่จะทำให้การเข้าสู่ระบบ ssh อัตโนมัติโดยไม่ต้องใช้ sshpass หรือคาดหวัง

ธง in

บริบทในที่นี้คือฉันมีระบบ Linux แบบฝังอยู่ในที่ทำงาน พวกเขาไม่มีอินเทอร์เน็ต พวกเขามักจะสร้างภาพใหม่ ฉันไม่ได้ควบคุมอิมเมจ OS และทีมที่เป็นเจ้าของไม่สนใจที่จะรวมเข้าด้วยกัน sshpass หรือ คาดหวัง ในการสร้างระบบปฏิบัติการ

เครื่องทดสอบเหล่านี้สามารถเข้าถึงได้จากเครือข่ายภายในเท่านั้นขณะนี้กระบวนการอัปเดตค่อนข้างเจ็บปวดและเกี่ยวข้องกับฉันด้วยตนเอง scp'ing ไฟล์ระหว่าง 3 กระโดด ฉันต้องการทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติด้วยสคริปต์ ซึ่งน่าจะช่วยฉันได้หลายชั่วโมงต่อสัปดาห์ เวิร์กโฟลว์ปัจจุบันมีไว้สำหรับฉันที่จะมีชุดเซสชัน tmux ที่ซ้อนกัน 3 ระดับขนาดมหึมาพร้อมบานหน้าต่างต่างๆ ซึ่งฉันเรียกใช้คำสั่งที่คล้ายกันมาก มันใช้งานได้ แต่มันไม่สนุก อย่างไรก็ตาม เท่าที่ฉันสามารถบอกได้ ไม่มีวิธีใดๆ ในการไพพ์รหัสผ่านให้เป็นข้อความธรรมดา จุ๊ๆ. รหัสผ่านสำหรับเครื่องเหล่านี้เป็นเพียง รากเนื่องจากเป็นเครื่องทดสอบและพัฒนาเท่านั้น

สิ่งที่ฉันได้เห็นซึ่งฉันเชื่อว่าจะไม่ทำงาน:

  • รหัสที่ใช้ร่วมกัน: เครื่องเหล่านี้ได้รับการสร้างภาพซ้ำทุกวันเป็นหลายครั้งต่อวัน ฉันไม่สามารถคาดหวังคีย์ถาวรได้
  • sshpass หรือ คาดหวัง: ตามที่ระบุไว้ข้างต้น ทีมงาน OS ได้ปฏิเสธคำขอของฉันที่จะเพิ่มสิ่งเหล่านี้
  • การติดตั้งเครื่องมือ UNIX ที่ไม่ใช่ค่าเริ่มต้น เนื่องจากเครื่องเหล่านี้ไม่สามารถเข้าถึงอินเทอร์เน็ตได้
tilleyc avatar
us flag
คุณบอกว่าคุณไม่สามารถคาดหวังคีย์ถาวรได้ เพราะเหตุใด หากพวกเขาสามารถสร้างอิมเมจใหม่ได้ พวกเขาก็สามารถบรรจุคีย์ที่คาดไว้ได้อย่างง่ายดายพอ
brenzo avatar
in flag
ฉันไม่ได้ไม่เห็นด้วย แต่คำอ้อนวอนของฉันฟังไม่ขึ้น และฉันแค่พยายามปลดบล็อกตัวเองที่นี่
me flag
งานของคุณคือส่งไฟล์ SCP ไปยังอุปกรณ์เป้าหมายผ่านเซิร์ฟเวอร์ 3 ตัวใช่ไหม คุณสามารถใช้ Ansible เพื่อคัดลอกไฟล์ผ่าน Jump Host หรือกำหนดค่า OpenSSH เพื่อสร้าง Jump Host ให้กับคุณ จากนั้นคุณก็แค่ SCP จากแล็ปท็อปของคุณไปยังอุปกรณ์เป้าหมาย อ้างอิง: https://www.jeffgeerling.com/blog/2022/using-ansible-playbook-ssh-bastion-jump-host และ https://wiki.gentoo.org/wiki/SSH_jump_host
Score:1
ธง us

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

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

ด้วยข้อจำกัด - และสมมติว่าคุณไม่ควรเก็บรหัสผ่านไว้ที่ใด - ฉันจะบอกว่าสคริปต์ที่ใช้ SSH ที่ซ้อนกัน (โดยใช้การเรียกใช้แฟล็ก -J หลายครั้ง) เพื่อลดการกระโดดของคุณ และเตรียมรหัสผ่านให้พร้อม แปะ ในบัฟเฟอร์การวางของคุณ จะช่วยลดความพยายามของคุณ

อีกหนึ่งข้อเสนอแนะ คุณพูดถึงการเข้าถึงอินเทอร์เน็ตไม่ได้ แต่ถ้ามีสคริปต์หรือเครื่องมือใด ๆ ที่คุณสามารถทำได้ ภายใน ใช้ได้ คุณทำได้ ดึง จากแหล่งภายในนั้นไปยังระบบเป้าหมายของคุณ ดึงสคริปต์ 'bootstrap' เดียวจากนั้นเรียกใช้สคริปต์นั้นเพื่อติดตั้งยูทิลิตี้ที่คอมไพล์แบบสแตติกอื่นๆ (หรือแม้แต่ใบรับรองหรือคีย์ SSH!) อาจมีประสิทธิภาพ จะต้องทำใหม่ทุกครั้งที่สร้างระบบใหม่ แต่สคริปต์สามารถตรวจสอบเพื่อดูว่าระบบเป้าหมายได้รับการสร้างอิมเมจใหม่หรือไม่ และติดตั้งเฉพาะส่วนที่ขาดหายไปเท่านั้น กล่าวอีกนัยหนึ่ง คุณสามารถทำให้กระบวนการของ คืนระบบที่สร้างใหม่ให้รองรับได้.

ยังไงก็ขอให้โชคดี ถ้า Hallmark ทำการ์ดสำหรับสิ่งนี้ ฉันจะหามันให้คุณ :D

โพสต์คำตอบ

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