web-dev-qa-db-ja.com

シェルスクリプトを使用してSSH経由でリモートマシン上のファイルを削除する方法

シェルスクリプトを使用してリモートマシン上のファイルを削除する必要があるシェルスクリプトを書いています。

手動でフロー:

ssh [email protected]

..次にドメインで:

cd ./some/where
rm some_file.war

そのタスクを達成する方法?

34
mico

sshクライアントにsshコマンドに追加することにより、シェルを開始する代わりに実行するコマンドを渡すことができます。

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

フルパスを指定している限り、何かを削除するために場所にcdする必要はありません。そのため、スキップできる別の手順です。

次の質問は認証です。それを実行しただけの場合、パスワードの入力を求められます。これをインタラクティブに入力したくない場合は、公開鍵認証をセットアップする必要があります。

53
Caleb

Sudoを使用してリモートファイルを削除する場合は、次のように実行する必要があります。

ssh -tt user@Host 'stty raw -echo; Sudo rm /path/to/file' < <(cat)

詳細

4

Sshコマンドには、リモートコマンドの実行に使用できるコマンドパラメーター(コマンドの最後のパラメーター)があります。

2
Scott C Wilson

パスワードなしのキーをセットアップし、sshコマンドの一部としてコマンドを追加します。参照: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/

1
laebshade