SSH の場合、同じ行でコマンドを実行するのと、別の行でコマンドを実行するのとでは異なりますか? Bash スクリプト

SSH の場合、同じ行でコマンドを実行するのと、別の行でコマンドを実行するのとでは異なりますか? Bash スクリプト

bashスクリプトで、sshとosascriptを使用して別のMacに通知を表示しようとしています。コマンドラインでこれを行うには、まず別のMacにsshで接続し、次に次のコマンドを実行します。

osascript -e 'display notification "You have received a message!"

その後、その ssh からログアウトします。これを bash スクリプト内で実行できるようにする必要があります。スクリプトを実行した後にパスワードを入力する必要があるかどうかは関係ありません。ありがとうございます!

答え1

SSH ID をリモート マシンにコピーすることをお勧めします。そうすれば、パスワードの入力を求められることはありません。

  1. するssh-keygen

  2. リモートマシンのパスワードを2回入力してください

  3. ssh-copy-id -i /Users/user/.ssh/id_rsauser@remotemachine を実行します

  4. リモートマシンのパスワードを入力してください

  5. 次に、ローカルマシンに戻ってこれを実行しますssh user@remotemachine 'some-remote-command'

実行するとリモートコマンドパスワードを尋ねることなくリモート マシン上で実行します。これはスクリプトで使用できます。

関連情報