ฉันเรียกใช้สคริปต์จาก OracleLinux 8.4 VM (โดยกำหนดค่า NatNetwork บน VirtualBox) บนพีซี Windows 10 ของฉันไปยังโฮสต์ระยะไกลโดยใช้โฮสต์กระโดด
พีซีของฉันไม่สามารถเชื่อมต่อโดยตรงกับโฮสต์ระยะไกลได้ แต่ต้องผ่านโฮสต์ข้ามหลังจากเชื่อมต่อกับ VPN
นี่คือสภาพแวดล้อมของฉัน:
เซิร์ฟเวอร์ |
ไอพี |
วินโดวส์ พีซี แลน: |
192.168.0.10 |
Windows PC VPN: |
10.201.66.134 |
OracleLinux VM: |
10.0.100.100 |
กระโดดโฮสต์ |
90.x.x.x |
ฉันใช้พารามิเตอร์เหล่านี้ในสคริปต์ของฉัน:
-o ProxyCommand="sshpass -p $SSHPASS ssh -vvv -W %h:%p ispjh"
-o PubkeyAuthentication=ไม่มี
-o PreferredAuthentications = รหัสผ่าน
-o การตรวจสอบรหัสผ่าน=ใช่
-o ControlMaster = อัตโนมัติ
-o ControlPersist=60 วินาที
-o UserKnownHostsFile=/dev/null
-o StrictHostKeyChecking=ไม่
นี่คือ ssh conf ของฉันบน VM:
[root@VM ~]# cat ~/.ssh/config
เจ้าภาพ *
TCPKeepAlive หมายเลข
ServerAliveInterval 300
ServerAliveCountสูงสุด 1296000
โฮสต์ Jumphost Jumphost.mydonain.local
ชื่อโฮสต์ jumphost.mydonain.local
ผู้ใช้ user.name
อัตโนมัติ ControlMaster
เส้นทางการควบคุม /tmp/ssh-%r@%h:%p
ไดนามิกฟอร์เวิร์ด 1083
ฉันสร้างอุโมงค์ SSH มาก่อน (ด้วยคำสั่ง: ssh jumphost -v
) และหลังจากที่ฉันรันสคริปต์ แต่เมื่อฉันรันสคริปต์ (บนเชลล์ใหม่) หลังจากเวลาผ่านไป ฉันได้รับข้อผิดพลาดนี้:
จากการเชื่อมต่ออุโมงค์ SSH:
debug1: getpeername ล้มเหลว: ตัวอธิบายไฟล์ไม่ถูกต้อง
debug1: ช่อง 5: ฟรี: direct-tcpip: กำลังฟังพอร์ต 0 สำหรับ 10.12.12.14 พอร์ต 22 เชื่อมต่อจากพอร์ต 127.0.0.1 65535 ไปยังพอร์ต UNKNOWN 65536, nchannels 9
และบางครั้งสคริปต์ก็กลับมาและการเชื่อมต่อก็หลุด
ฉันจะแก้ไขปัญหานี้ได้อย่างไร
ขอบคุณสำหรับการสนับสนุน.