リモートサーバーにログインして追加のコマンドを実行するシェルスクリプト

リモートサーバーにログインして追加のコマンドを実行するシェルスクリプト

シェルスクリプトを使用していくつかのタスクを自動化しています。この作業の一環として、リモートサーバーにSSHで接続し、リモートサーバーのホスト名を変更し、フォルダ名を変更し、その内容を変更せずにそのままにして、サーバーを再起動するシェルスクリプトが必要です。私が実行したいコードは次のとおりです。

echo "Connecting to $publicip"
ssh -i ./key.txt root@$publicip 'sudo hostnamectl set-hostname autotest$i.domain.com | sudo mv /etc/letsencrypt/live/autotest.domain.com /etc/letsencrypt/live/autotest$i.domain.com | reboot'

スクリプトがサーバーに SSH で接続できることがわかりますが、接続が成功すると次の出力が表示されます。そして、リモートサーバーを確認してみると、上記のような一連のアクティビティは実行されませんでした。

Connecting to --.--.---.--
Connection to --.--.---.-- closed by remote host.

誰かがこの問題をできるだけ早く解決するのに役立ちますか?

ベストアンサー1

おすすめ記事