crontabからsshに接続できません

crontabからsshに接続できません

次のコマンドを使用して、コマンドライン(パスワードは不要)からSSH接続を作成できます。

ssh -R 9900:localhost:22 user@host

システムの再起動時に実行するにはこのコマンドが必要なので、これをbashスクリプトに入れてcrontabに次の行を追加しました。

@reboot /home/me/script.sh > output

ただし、出力に次のエラーが表示されます。 ssh: Unable to 解決するホスト名 myhost: 不明な名前またはサービス

インターネット接続が確立される前にスクリプトが起動されるためです。 sshコマンドの前に1つを追加しましたが、sleep(180)役に立ちませんでした。どんな提案がありますか?

ベストアンサー1

理想的にはこれを使用してはいけませんcron。これが初期化システムの目的です。ネットワークの状態に応じてサービスを作成できます。

しかし、以下を使用したい場合cron

#!/bin/sh

host="foo.bar.com"

# Wait for host's SSH server to become accessible
while ! ssh "user@$host" exit >/dev/null 2>&1; then
    sleep 1
fi

ssh -R 9900:localhost:22 "user@$host"

おすすめ記事