Sistem başlangıcında autossh'i başlat


16

autosshBir kullanıcının oturum açmadan önce ssh tünelini başlatması ve kurması için başlangıçta başlamanın herhangi bir yolu var mı ? Ubuntu'yu terminale önyükleme yapıyorum ve autosshssh yapabilmem için işlemin otomatik olarak başlatılmasını istiyorum.

Komut eklemek /etc/rc.localyanı sıra bir /etc/init/*.confkomut dosyası oluşturmak için denedim . Bunların hiçbiri işe yaramıyor.


Bu hangi Ubuntu sürümü?
George Udosen

@George 16.04 LTS.
ptf

Yanıtlar:


21

Kullanma systemdbu (örnek yapılabilir autosshiçin oluşturulan mysqlerişim):

  1. Kullanarak bir systemd dosyası oluşturun nanoveya vimveya uygun editör:

    sudo vim /etc/systemd/system/autossh-mysql-tunnel.service 
    
  2. Aşağıdaki içeriği ekleyin:

    [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. Yeniden yükle systemd:

    sudo systemctl daemon-reload
    
  4. Başlangıç Autosshhizmeti:

    sudo systemctl start autossh-mysql-tunnel.service
    
  5. Şurada etkinleştir boot:

    sudo systemctl enable autossh-mysql-tunnel.service
    
  6. Durumu şununla kontrol et:

    sudo systemctl status autossh-mysql-tunnel
    

Not

Bununla birlikte, systemd ve AutoSSH hakkında not edilmesi gereken önemli bir şey vardır: -f (arka plan kullanımı) zaten ima eder AUTOSSH_GATETIME=0, ancak -ftarafından desteklenmez systemd.

Bu nedenle systemd,AUTOSSH_GATETIME

Kaynak


Teşekkürler! Bunu çalışıyorum ama çalıştırdığınızda sudo service reverse-ssh-tunnel.service status, ben olsun Loaded: not-found (Reason: No such file or directory). Şimdi araştırılıyor :)
ptf

lütfen sudo systemctl status reverse-ssh-tunnelnotsudo service reverse-ssh-tunnel.service status
George Udosen

2
Demek istediğine inanıyorumautossh -i /home/<user>/.ssh/id_rsa -R 22222:localhost:22 <user>@<remote_host>
George Udosen

2
Ben de eklemem gerekiyordu -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no. Belki de bunlardan birine ihtiyacım var, onları tek tek test etmedim. Bunu burada buldum: stackoverflow.com/a/24689061/1211119 . Ancak, tty1 giriş ekranına baktığımda (terminale önyükleme yapıyorum), servis henüz tüneli yaratmadı. Giriş yaparsam hizmet başlar.
ptf

2
Bazen farklı bir kullanıcı bağlamında çalıştırmak istersiniz. Bunu yapmak için: Ekle User=usernameiçin [Service]systemd dosyasındaki bölümünde.
friederbluemle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.