シェルを使ってrc.localを設定するには?

シェルを使ってrc.localを設定するには?

Ubuntu Server 16.04へのリバースSSH接続を確立する必要があります。変数を含むファイルに書き込むさまざまな方法を検索しましたが、私の状況に適した方法が見つかりませんでした。

実行するコマンド: autossh -N -f -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /home/myUser/.ssh/nopwd -R ${PORT_NUMBER}:localhost:22 [email protected] &

私はこのスクリプトを使います。

#!/bin/bash `
KEY_PATH=/home/myUser/.ssh/nopwd echo "generating your key..."
ssh-keygen -b 2048 -t rsa -f $KEY_PATH  -N ""
echo "the key is saved under: $KEY_PATH "
ssh-copy-id -i /home/myUser/.ssh/nopwd.pub [email protected]
echo "key sent..."
echo "enter a free port..."
read PORT_NUMBER
sed -i -e '$i \autossh -N -f -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /home/myUser/.ssh/nopwd -R $PORT_NUMBER:localhost:22 [email protected] &' /etc/rc.local

アイデアは、このスクリプトを使用してrc.localコマンドのポート番号を設定することです。

私はLinuxとBashに初めて触れたので、すべての提案を歓迎します。

関連情報