Tự động đăng nhập SSH cung cấp shell từ xa không phản hồi, thả trở lại thiết bị đầu cuối của khách hàng (không có lỗi)


1

Tôi gặp sự cố với công cụ mong đợi trong Ubuntu 14.04 LTS. Tôi muốn tự động đăng nhập ssh vào một số Tường lửa Sophos UTM và lấy quyền của tôi ngay sau khi sử dụng "sudo su -" và mật khẩu chính xác. Tôi không phải lo lắng về mật khẩu văn bản đơn giản, vì tập lệnh của tôi chạy trực tiếp ra khỏi trường URL KeePass (doubleclick thực thi tập lệnh và điền nó với mật khẩu chính xác thông qua agrument / KeePass {Placeholder} đằng sau tập lệnh). Tôi đã quản lý để hoàn thành tất cả những điều này, ngoại trừ việc có một root root từ xa, nó không thực thi bất kỳ lệnh nào và "thả kết nối" trở lại hệ thống ubfox của tôi. Vì vậy, lệnh tôi đang cố chạy từ xa không thực hiện trong 4-5 giây và sau đó bất ngờ được thực thi trên hệ thống Ubuntu, mà không cho tôi biết điều gì đã xảy ra.

Tôi phải làm gì để có vỏ từ xa hoạt động đầy đủ? SSH-Keys và đăng nhập root trực tiếp không phải là một giải pháp cho tôi, vì chúng ta đang có quá nhiều UTM Sophos ngoài kia.

Giải thích những thứ đang xảy ra:

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:~$

Thay đổi tập lệnh như thế này, không giúp ích gì cho vấn đề kết nối bị rớt:

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:~$

Cảm ơn trước!


Câu trả lời:


1

Nếu bạn muốn một vỏ từ xa "đáp ứng", bạn cần một interact lệnh sau khi hoàn thành trao đổi đăng nhập. Một cái gì đó như thế này:

#!/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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.