Chạy lệnh ssh từ xa có dấu cách?


1

Tôi đang cố gắng chạy một tập lệnh từ xa trong windows qua ssh và tôi không thể tìm ra cách xử lý các trích dẫn. (Cả máy chủ và máy khách đều là máy windows.) Đây là câu lệnh hoạt động tốt trên máy chủ:

C:\> python "C:\folder path\file.py"

Tôi đã nhìn dường như ở khắp mọi nơi, và dường như đã thử mọi thứ, nhưng tôi không thể làm việc này:

C:\> ssh user@ipaddress "python ""C:\folder path\file.py"""
python: can't open file 'C:\folder': [Errno 2] No such file or directory

Tôi đã thử sử dụng dấu ngoặc kép, tôi đã thử dấu ngoặc đơn, tôi đã thử '\' là ký tự thoát, tôi đã thử '^' và dường như không có gì vượt qua chuỗi chính xác. Có ai giúp được không?!

EDIT: Một người dùng đề nghị tôi sử dụng '-v' với ssh để theo dõi đường dẫn. Làm điều đó, có vẻ như dấu ngoặc kép thực sự làm những gì tôi mong đợi, nhưng bằng cách nào đó, máy chủ giải thích sai lệnh và các đối tượng vào không gian. Không chắc chắn lý do tại sao...

Để rõ ràng, sử dụng này:

C:\> ssh -v user@ipaddress "python ""C:\folder path\file.py"""

Tôi thấy điều này trong kết quả:

debug1: Sending command: python "C:\folder path\file.py"
python: can't open file 'C:\folder': [Errno 2] No such file or directory

LẠI, để rõ ràng hơn, lệnh này hoạt động HOÀN HẢO khi tôi đang ở trạng thái tâm lý tại máy chủ:

C:\> python "C:\folder path\file.py"

Vì vậy, tôi không rõ tại sao / nơi này đang bị làm hỏng. Cảm ơn vì sự giúp đỡ, tất cả các bạn đã giúp đỡ rất nhiều cho đến nay.

Câu trả lời:


2

Tôi thấy điều này hiệu quả với tôi, mặc dù nó không liên quan đến đường dẫn, nhưng các dịch vụ:

ssh username@ipaddress 'net start \"TightVNC Server\"'

1

OpenSSH sshlà ứng dụng * nix, vì vậy quy tắc * nix áp dụng khi phân tích cú pháp dòng lệnh của nó

ssh user@ipaddress "python \"C:\folder path\file.py\""

Cảm ơn vì điều này, nhưng nó không hoạt động. Tôi vẫn nhận được lỗi tương tự. Tôi đã sử dụng tùy chọn '-v' với ssh để thử và theo dõi vấn đề. Sử dụng dấu ngoặc kép trông giống như nó vượt qua chuỗi chính xác, nhưng vì một số lý do, nó bị dịch sai bởi máy chủ. Xem ở trên.
lukehawk

Sau đó, bạn sẽ phải nói thêm về thiết lập của bạn. Máy chủ là gì? Máy chủ SSH là gì? Là gì ssh? Tôi giả sử OpenSSH ssh, nhưng bản dựng nào? CÔ? CygWin?
Martin Prikryl

Tất cả mọi thứ là cửa sổ, cả máy chủ và máy khách. Tôi đã làm theo các hướng dẫn ở đây - woncp.net/eng/docs/guide_windows_openssh_server , được liên kết với github.com/PowerShell/Win32-OpenSSH/release , đó là những gì tôi đã cài đặt.
lukehawk

Tôi đang có một thiết lập chính xác (Tôi thực sự đã viết hướng dẫn mà bạn đã sử dụng). Và nó làm việc cho tôi với \".
Martin Prikryl
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.