システムの起動時にautosshを起動します


15

autosshユーザーがログインする前にsshトンネルを開始してセットアップするために、起動時に開始する方法はありますか?Ubuntuをターミナルからautossh起動し、起動時にプロセスが自動的に開始されるようにして、sshを実行できるようにします。

スクリプト/etc/rc.localを作成するだけでなく、にコマンドを追加してみました/etc/init/*.conf。これらはどれも機能していないようです。


これはUbuntuのどのバージョンですか?
ジョージウドセン

@ジョージ16.04 LTS。
-ptf

回答:


20

systemdこれを使用して行うことができます(アクセスautossh用に作成されたサンプルmysql):

  1. 使用にsystemdファイルを作成しnanoたりvim、または任意の適切なエディタ:

    sudo vim /etc/systemd/system/autossh-mysql-tunnel.service 
    
  2. 次の内容を追加します。

    [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 cytopia@everythingcli.org -p 1022
    
    [Install]
    WantedBy=multi-user.target
    
  3. リロードsystemd

    sudo systemctl daemon-reload
    
  4. Autosshサービスを開始します。

    sudo systemctl start autossh-mysql-tunnel.service
    
  5. 有効にするboot

    sudo systemctl enable autossh-mysql-tunnel.service
    
  6. ステータスを確認:

    sudo systemctl status autossh-mysql-tunnel
    

注意

systemdにとAutoSSHについて注意することは重要なことは、しかし、があります。-f(バックグラウンドの使用量)は、すでに暗示AUTOSSH_GATETIME=0しかし、-fでサポートされていませんsystemd

だからsystemdあなたの場合には利用する必要がありますAUTOSSH_GATETIME

ソース


ありがとう!私はこれを試していますが、実行するsudo service reverse-ssh-tunnel.service statusとが得られLoaded: not-found (Reason: No such file or directory)ます。今これを研究しています:)
ptf

してください sudo systemctl status reverse-ssh-tunnelないでsudo service reverse-ssh-tunnel.service status
ジョージ・ウドセン

2
私はあなたが意味すると信じていますautossh -i /home/<user>/.ssh/id_rsa -R 22222:localhost:22 <user>@<remote_host>
ジョージUdosen

2
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=noも追加する必要がありました。たぶん、それらのうちの1つが必要なだけで、個別にはテストしていません。ここで見つけました:stackoverflow.com/a/24689061/1211119。ただし、tty1ログイン画面を表示しているとき(ターミナルから起動します)、サービスはまだトンネルを作成していません。ログインすると、サービスが開始されます。
-ptf

2
別のユーザーコンテキストで実行したい場合があります。これを行うには:systemdファイルのセクションに追加User=username[Service]ます。
friederbluemle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.