SSH経由でバッチモードでコマンドを実行するには?

SSH経由でバッチモードでコマンドを実行するには?

SSH経由でバッチモードでコマンドを実行するには?つまり、sshこのコマンドの意味は何ですかsftp -b <filename> <hostname>

setに渡すコマンドセットがありますssh。最後に、sftpコマンドをファイルに保存しfilenameてホストに接続し、前述のコマンドを使用してコマンドを実行します。

このまま終わることは可能でしょうかssh

ベストアンサー1

私が間違っている場合は訂正してください。ただし、スクリプトがローカルであるリモートサーバーで通常のシェルコマンドを実行したいようです。

#!/bin/sh
trap "rm -f /tmp/sendonssh.$$.*" 0 1 2 3 15
# commands to run on the remote server
cat <<'EOF' >> /tmp/sendonssh.$$.sh
mkdir -p /tmp/foobar.$$
mv $HOME/xyzzy /tmp/foobar.$$
chmod 640 $HOME/xyzzy
EOF
# call for each argument
for userhost in "$@"; do
    errorout=`ssh -aTxo BatchMode=yes $userhost /bin/sh -s < /tmp/sendonssh.$$.sh 2>&1`
    rc=$?
    if [ $rc -ne 0 ]; then
        echo "Error: $userhost: $errorout"
        exit $rc
    fi
done

私はシェルの代わりにPythonを使用しています。テスト環境では、「リモート実行」アプリケーションを使用してこれを実行しましたssh $userhost python < $pythonscriptfilename

おすすめ記事