起動時にautossh
を起動する方法はありますか。そのため、ユーザーがログインする前にsshトンネルを起動して設定しますか? Ubuntuを端末から起動します。起動時にautossh
プロセスが自動的に開始され、sshできるようになります。
コマンドを/etc/rc.local
に追加し、/etc/init/*.conf
スクリプトを作成しようとしました。これらはどれも機能していないようです。
systemd
を使用してこれを行うことができます(autossh
アクセス用に作成されたサンプルmysql
):
nano
またはvim
または適切なエディターを使用してsystemdファイルを作成します。
Sudo vim /etc/systemd/system/autossh-mysql-tunnel.service
次の内容を追加します。
[Unit]
Description=AutoSSH tunnel service everythingcli MySQL on local port 5000
After=network.target
[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -NL 5000:localhost:3306 [email protected] -p 1022
[Install]
WantedBy=multi-user.target
systemd
をリロードします:
Sudo systemctl daemon-reload
Autossh
サービスを開始します。
Sudo systemctl start autossh-mysql-tunnel.service
boot
で有効にします。
Sudo systemctl enable autossh-mysql-tunnel.service
ステータスを確認:
Sudo systemctl status autossh-mysql-tunnel
ただし、systemdとAutoSSHについて注意すべき重要な点があります。-f(バックグラウンドの使用)は既に
AUTOSSH_GATETIME=0
を意味しますが、-f
はsystemd
ではサポートされていません。
したがって、systemd
の場合は、AUTOSSH_GATETIME
を使用する必要があります