Score:0

วิธี ssh ไปยังเซิร์ฟเวอร์ผ่าน bastion (proxy) ด้วยรหัสจาก bastion (proxy) ไม่ใช่ต้นกำเนิด

ธง ma

ดังนั้นฉันจึงพยายามทำสิ่งนี้เป็นหลัก:

ssh [email protected] -t ssh bob2@test-vm

ด้านบนทำงานได้ดีถ้าฉันใส่ลงในเทอร์มินัล แต่ฉันมีปัญหาในการพยายามทำซ้ำผ่านไฟล์กำหนดค่า .ssh

นี่คือสิ่งที่ฉันมีในไฟล์ปรับแต่ง:

โฮสต์ป้อมปราการ
     ชื่อโฮสต์ 35.192.152.35
     ผู้ใช้ bob2

โฮสต์ทดสอบ vm
     ผู้ใช้ bob2
     FORwardAgent ใช่
     ProxyCommand ssh ป้อมปราการ nc %h %p 2> /dev/null

อย่างไรก็ตาม มีข้อผิดพลาดแจ้งว่า "การอนุญาตถูกปฏิเสธ" ไฟล์คีย์สาธารณะไม่ถูกต้อง? ฉันมากับข้างต้นจากโพสต์นี้: https://unix.stackexchange.com/questions/124078/how-to-ssh-to-a-server-using-another-server-with-key-from-the-second-server

อย่างใดมันใช้ได้ผลกับผู้ชาย แต่ดูเหมือนจะไม่ได้ผลสำหรับฉัน ฉันยังลองอนุญาตการส่งต่อตัวแทนและการส่งต่อ TCP ในการกำหนดค่า sshd_chroot ด้วยสำหรับทุกฝ่าย (ต้นทาง ป้อมปราการ และเซิร์ฟเวอร์) แต่นั่นไม่ได้สร้างความแตกต่าง

ถ้าฉันบังคับให้ระบุเส้นทางข้อมูลประจำตัว:

โฮสต์ป้อมปราการ
     ชื่อโฮสต์ 35.192.152.35
     ผู้ใช้ bob2
     IdentityFile /Users/bob/.ssh/id_rsa

โฮสต์ทดสอบ vm
     ผู้ใช้ bob2
     FORwardAgent ใช่
     ProxyCommand ssh ป้อมปราการ nc %h %p 2> /dev/null
     IdentityFile /home/bob2/.ssh/id_ed25519

จากนั้นก็ขึ้นข้อผิดพลาดเดียวกันนอกเหนือจากการบอกว่าไม่พบไดเร็กทอรี "/home/bob2/.ssh/id_ed25519"

ใครมีความคิดใด ๆ ?

John Hanley avatar
cn flag
ฉันคิดว่าคุณควรใช้ **ProxyJump ssh bob2@test-vm**
Dmytro Lysak avatar
ma flag
@JohnHanley ไม่แน่ใจว่าคุณหมายถึงอะไร แทนที่ ProxyCommand ด้วย proxyjump ที่คุณแนะนำ มันทำให้ฉัน "ssh: ไม่สามารถแก้ไขชื่อโฮสต์ bob2: nodename หรือ servname ที่ให้มา..."
John Hanley avatar
cn flag
ฉันต้องการดูว่าคุณใช้คำสั่งนั้นอย่างไร เป็นไปได้มากว่าคุณไม่ได้ระบุชื่อโฮสต์สำหรับเซิร์ฟเวอร์กระโดด แก้ไขคำถามของคุณพร้อมรายละเอียด
Dmytro Lysak avatar
ma flag
@JohnHanley ไม่ นั่นคือการกำหนดค่าเดียวกันทุกประการ ฉันมี VM บน GCP ที่เรียกว่า test-vm และอีก VM บน gcp เรียกว่า bastion และฉันกำลังพยายาม ssh ไปยัง test-vm จาก macbook ของฉันผ่าน bastion โดยใช้ คีย์ ssh จากป้อมปราการ> ทดสอบ vm ชื่อโฮสต์ไม่จำเป็นสำหรับ test-vm เนื่องจากใน gcp คุณสามารถ ssh ไปยัง VM อื่นๆ บนซับเน็ตเดียวกันได้โดยใช้ชื่อโฮสต์แทนที่อยู่ IP ฉันได้ลองใช้ที่อยู่ IP ที่ระบุสำหรับ test-vm ด้วย
Score:0
ธง cn

ดูเหมือนว่าคุณต้องการให้การกำหนดค่าของคุณให้ test-vm ค้นหาคีย์ในป้อมปราการ ดังนั้นฉันขอแนะนำ:

  1. คัดลอกไฟล์คีย์ไปยังโฟลเดอร์ .ssh ของ bob2 ในป้อมปราการ
  2. เพิ่ม ProxyCommand ด้วย ssh-add ในการกำหนดค่าของคุณ
Dmytro Lysak avatar
ma flag
ไฟล์คีย์ของ Bob2 อยู่ในป้อมปราการแล้ว นั่นเป็นสาเหตุที่ "ssh [email protected] -t ssh bob2@test-vm" ใช้งานได้ แต่ด้วยเหตุผลบางอย่างที่พยายามทำซ้ำในไฟล์ปรับแต่งไม่ได้
cn flag
จากนั้นลองวางคีย์ test-vmâs ลงในโฟลเดอร์ไคลเอ็นต์และเปลี่ยน `IdentityFile /home/bob2/.ssh/id_ed25519` เป็น `IdentityFile /Users/bob/.ssh/id_ed25519` จากการกำหนดค่าล่าสุด
Dmytro Lysak avatar
ma flag
ฉันไม่แน่ใจในสิ่งที่คุณถาม ฉันไม่ได้รับอนุญาตให้ย้ายคีย์ใดๆ ระหว่างเซิร์ฟเวอร์ test-vm ต้องใช้คีย์จาก bastion และ bastion ไม่สามารถมีคีย์ใดๆ จากต้นทางได้
cn flag
ฉันพบคำถามที่คล้ายกัน คุณจะลองวิธีแก้ปัญหาที่นั่นไหม ฉันคิดว่าคุณต้องเพิ่ม ssh ในการกำหนดค่าของคุณ https://serverfault.com/questions/337274/ssh-from-a-through-b-to-c-using-private-key-on-b
Dmytro Lysak avatar
ma flag
ฉันลองอันนั้นก่อนที่จะส่งคำถามนี้เช่นกัน น่าเสียดายที่มันใช้ไม่ได้ ทำให้ฉันมีข้อผิดพลาดเดียวกัน บางทีคำสั่ง ssh อาจทำงานแตกต่างกันเล็กน้อยบน MacOS? อาจเป็นเพราะเหตุนี้จึงไม่ได้ผลสำหรับฉัน

โพสต์คำตอบ

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