วิธีการใช้ sshpass สำหรับการเชื่อมต่อแบบโซ่?


3

ฉันมีสองเครื่องของลูกค้า $gateway และ $serverคนที่สองสามารถเข้าถึงได้จากคนแรกเท่านั้น การตรวจสอบรหัสสาธารณะไม่สามารถใช้งานได้กับทั้งสองระบบ ดังนั้นเพื่อดำเนินการบางอย่าง $command บนเซิร์ฟเวอร์ฉันต้องเรียกใช้ ssh $gateway ssh $server $command จากนั้นพิมพ์รหัสผ่านสองรายการ ฉันสามารถใช้ sshpassแต่มันจะจัดการเฉพาะการเชื่อมต่อครั้งแรกและฉันยังคงต้องป้อนรหัสผ่านที่สองด้วยมือ

ฉันจะทำให้การเข้าถึง ssh แบบไม่โต้ตอบ (โดยไม่ต้องป้อนรหัสผ่านด้วยตนเอง) อย่างสมบูรณ์ได้อย่างไร

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


ผู้ดูแลระบบประเภทใดปิดการตรวจสอบรหัสสาธารณะ? .. (เซิร์ฟเวอร์อาจมีการเปิดใช้งานอย่างอื่นเช่น gssapi)
grawity

ฉันรู้ว่าบางคนจะถามสิ่งนี้ =)
Equidamoid

มันเป็นระบบฝังตัวที่เจาะจงมาก ๆ บางทีอาจมีวิธีการเปิดใช้งานปุ่มต่างๆ แต่ฉันไม่ต้องการสัมผัสอะไรเลยยกเว้นสิ่งที่ฉันได้รับอนุญาตให้สัมผัส
Equidamoid

คำตอบ:


4

ลอง:

ssh -oProxyCommand="ssh -W %h:%p $gateway" $server command

ตัวอย่างเช่น:

ssh -oProxyCommand="ssh -W %h:%p albert@gateway.uibk.ac.at" root@hidden.uibk.ac.at command

นี่จะใช้พรอกซีเชื่อมต่อกับ ssh $server เหนืออีก ssh คำสั่งโดยไม่ต้องสร้างอุโมงค์จริง สิ่งนี้ทำให้แน่ใจว่าไคลเอนต์ ssh ทั้งสองทำงานในเครื่องดังนั้นจึงใช้ sshpass


1
ที่ดี! ขอบคุณ! (เพื่อใช้กับ sshpass หนึ่งก็ต้องเปลี่ยน ssh กับ sshpass -p <corresponding_password> ssh )
Equidamoid

อ๊ะฉันพบบางสิ่งเช่นนั้น ssh $gateway rsync $file $server:. ความคิดวิธีการทำให้มันทำงานอย่างไร
Equidamoid

หาก $ file เป็นแบบโลคัลคุณสามารถใช้อ็อพชัน -e ของ rsync เพื่อใช้คำสั่ง ssh อื่น เพียงตรวจสอบคู่มือการใช้งาน man rsync.
Albert Peschar

ไม่มันไม่ใช่ มันถูกวางไว้บน $gateway. สัมพันธ์ localhost & lt; - & gt; $gateway ช้ามากดังนั้น 'ดาวน์โหลดไฟล์ไปยังแล็ปท็อปของฉันแล้วเอาไปไว้ที่เซิร์ฟเวอร์' ไม่ใช่ตัวเลือก
Equidamoid

sshpass -p $password $gateway rsync -e "sshpass -p $password" $file $server: ?
Albert Peschar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.