Sử dụng ngôn ngữ & & và | | | trong kịch bản SSHPass


2

Tôi đang tạo một kịch bản cho bố mẹ tôi trên máy Mac của họ để họ có thể SSH vào máy tính Linux của tôi và gửi lệnh, tạo cửa sổ bật lên, v.v.

Đây là một trong những lệnh của tôi:

sshpass -p Password ssh maliciouzzhd@10.0.0.1 export DISPLAY=:0 & mate-session-save --force-logout

Vấn đề của tôi là Mac xử lý "&" như không có trong tập lệnh sshpass và thực thi đối số sau khi sử dụng thiết bị đầu cuối Mac, không có SSH.

Vì thế

sshpass -p Password ssh maliciouzzhd@10.0.0.1 export DISPLAY=:0 & mate-session-save --force-logout

sẽ thực thi

export DISPLAY=:0

trong phiên SSH, nhưng

mate-session-save --force-logout

sẽ được thực thi trong thiết bị đầu cuối Mac.

Nếu bất cứ ai có thể giúp tôi với điều này, nó sẽ được đánh giá rất cao.

Câu trả lời:


1

SSH chấp nhận đối số duy nhất dưới dạng một lệnh, không phải nhiều đối số, vì vậy dòng lệnh sẽ giống như thế này (lưu ý các trích dẫn):

sshpass -p Password ssh maliciouzzhd@10.0.0.1 "export DISPLAY=:0 & mate-session-save --force-logout"

Nhưng ý tưởng chung có thể không hoạt động, vì bạn đã không cho phép chuyển tiếp X11 (thêm -Ycông tắc vào ssh).


Cảm ơn, nó hoạt động, nhưng bây giờ nó đang nóiUnable to init server: Could not connect: Connection refused
MaliciouZzHD

Bạn đã cài đặt máy chủ X trên máy Mac chưa?
Jakuje

Làm thế nào để tôi kiểm tra? Tôi không quen với Mac, bố mẹ tôi
MaliciouZzHD

support.apple.com/en-us/HT201341 - bạn cần cài đặt XQuartz theo cách thủ công
Jakuje

Đợi đã ... Tôi đang cố điều khiển máy tính xách tay Linux của mình thông qua SSH từ máy Mac của mình, tôi có cần XQuartz trên máy Mac không? Linux của tôi chắc chắn có công cụ XServer trên đó.
MaliciouZzHD
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.