it-swarm-vi.com

Làm cách nào để xóa một tệp trên máy từ xa thông qua SSH bằng cách sử dụng Shell Script?

Tôi đang viết Shell Script trong đó tôi phải xóa một tệp trên máy từ xa thông qua Shell Script.

Lưu lượng thủ công:

ssh [email protected]

.. sau đó tại miền:

cd ./some/where
rm some_file.war

Làm thế nào để hoàn thành nhiệm vụ đó?

34
mico

Bạn có thể truyền cho ssh client một lệnh để thực thi thay cho Shell bằng cách nối nó với lệnh ssh.

ssh [email protected] 'rm /some/where/some_file.war'

Bạn không phải cd đến một vị trí để xóa thứ gì đó miễn là bạn chỉ định đường dẫn đầy đủ, vì vậy đó là một bước khác bạn có thể bỏ qua.

Câu hỏi tiếp theo là xác thực. Nếu bạn chỉ chạy nó, bạn sẽ được nhắc nhập mật khẩu. Nếu bạn không muốn nhập tương tác này, bạn nên thiết lập xác thực khóa công khai.

53
Caleb

Nếu bạn muốn xóa tệp từ xa bằng cách sử dụng Sudo, bạn cần thực hiện một cái gì đó như thế này:

ssh -tt [email protected] 'stty raw -echo; Sudo rm /path/to/file' < <(cat)

Chi tiết .

4
Vladislav Rastrusny

Lệnh ssh có một tham số lệnh (tham số cuối cùng trong lệnh) mà bạn có thể sử dụng để chạy các lệnh từ xa.

2
Scott C Wilson

Thiết lập các khóa mật khẩu sau đó thêm lệnh như một phần của lệnh ssh. Xem: http://www.dotkam.com/2009/03/10/run-commands-rem Remote-via-ssh-with-no-password/

1
laebshade