การเข้าสู่ระบบอัตโนมัติ SSH ให้เปลือกระยะไกลไม่ตอบสนองลดลงกลับไปที่ลูกค้าสถานี (ไม่มีข้อผิดพลาด)


1

ฉันมีปัญหากับเครื่องมือภายใต้ Ubuntu 14.04 LTS ฉันต้องการลงชื่อเข้าใช้ ssh อัตโนมัติไปยัง Sophos UTM Firewalls และทำให้สิทธิ์ของฉันถูกต้องหลังจากนั้นด้วย "sudo su -" และรหัสผ่านที่ถูกต้อง ฉันไม่ต้องกังวลเกี่ยวกับรหัสผ่านแบบข้อความธรรมดาเพราะสคริปต์ของฉันวิ่งออกจากช่อง URL ของ KeePass โดยตรง (doubleclick เรียกใช้งานสคริปต์และเติมด้วยรหัสผ่านที่ถูกต้องผ่าน agrument / KeePass {Placeholder} ด้านหลังสคริปต์) ฉันจัดการเพื่อให้เสร็จสิ้นทั้งหมดยกเว้นการมีเชลล์ระยะไกลรูทซึ่งไม่ได้ดำเนินการคำสั่งใด ๆ และ "ปล่อยการเชื่อมต่อ" กลับไปที่ระบบอูบุนตูของฉัน ดังนั้นคำสั่งที่ฉันพยายามเรียกใช้จากระยะไกลนั้นไม่ได้ใช้เวลา 4-5 วินาทีแล้วจึงถูกประมวลผลบนระบบอูบุนตูโดยไม่บอกฉันว่าเกิดอะไรขึ้น

ฉันต้องทำอย่างไรจึงจะสามารถใช้งาน remote shell ได้อย่างสมบูรณ์ SSH-Keys และการรูทเข้าสู่ระบบโดยตรงไม่ใช่วิธีแก้ปัญหาสำหรับฉันเนื่องจากเรามี Sophos UTM มากเกินไป

สิ่งที่อธิบายเกิดขึ้น:

sshtool.sh:
#!/usr/bin/expect -f
spawn sshpass -pPASSWORD ssh -t loginuser@192.168.1.254 "sudo su -"
expect -- "oot's password:"
send "PASSWORD\r"
expect -- "/root #"
expect eof



What happens in the terminal:
vct@vct-virtual-machine:~$ ./sshtool.sh
spawn sshpass -pPASSWORD ssh -t loginuser@192.168.1.254 sudo su -
root's password:
utm:/root # whoami
# *enter*
# not reacting for 4-5 seconds
vct@vct-virtual-machine:~$ whoami
vct
vct@vct-virtual-machine:~$

การเปลี่ยนสคริปต์เช่นนี้ไม่ช่วยแก้ไขปัญหาการเชื่อมต่อที่ลดลง:

sshtool.sh:
#!/usr/bin/expect -f
spawn ssh loginuser@192.168.1.254
expect -- "password:"
send "PASSWORD\r"
expect -- "/home/login > "
send -- "sudo su -\r"
expect -- "oot's password:"
send "PASSWORD\r"
expect -- "/root #"
send -- "whoami\r"
expect eof


vct@vct-virtual-machine:~$ ./sshtool.sh
spawn ssh loginuser@192.168.1.254
loginuser@192.168.1.254's password:
Last login: Mon Apr 18 09:14:41 2016 from 192.168.1.44


Sophos UTM
(C) Copyright 2000-2015 Sophos Limited and others. All rights reserved.
Sophos is a registered trademark of Sophos Limited and Sophos Group.
All other product and company names mentioned are trademarks or registered
trademarks of their respective owners.

For more copyright information look at /doc/astaro-license.txt
or http://www.astaro.com/doc/astaro-license.txt

NOTE: If not explicitly approved by Sophos support, any modifications
      done by root will void your support.

<M> loginuser@utm:/home/login > sudo su -
root's password:
# Following "whoami" directly executed by the script itself works fine
<M> utm:/root # whoami
root
# After 4-5 seconds, it's dropping the connection again
<M> utm:/root # vct@vct-virtual-machine:~$

ขอบคุณล่วงหน้า!


ทำซ้ำจากaskubuntu.com/q/758595/10127
glenn jackman

คำตอบ:


1

ถ้าคุณต้องการเปลือกระยะไกล "ตอบสนอง" คุณต้องมีinteractคำสั่งหลังจากทำการแลกเปลี่ยนล็อกอิน บางสิ่งเช่นนี้

#!/usr/bin/expect -f
spawn sshpass -pPASSWORD ssh -t loginuser@192.168.1.254 "sudo su -"
expect -- "oot's password:"
send "PASSWORD\r"
expect -- "/root #"
interact
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.