सवाल सिस्टम स्टार्टअप पर autossh शुरू करें


शुरू करने का कोई तरीका है autossh स्टार्टअप पर, ताकि उपयोगकर्ता शुरू हो जाने से पहले एसएस सुरंग शुरू कर लेता है और सेट करता है? मैं उबंटू को टर्मिनल पर बूट करता हूं, और मुझे वह चाहिए autossh प्रक्रिया स्वचालित रूप से स्टार्टअप पर शुरू होती है ताकि मैं एसएसएच कर सकूं।

मैंने कमांड जोड़ने की कोशिश की है /etc/rc.local, साथ ही साथ एक बनाने के लिए /etc/init/*.conf स्क्रिप्ट। इनमें से कोई भी काम नहीं करता है।


9
2017-08-19 15:39


मूल


उबंटू का यह संस्करण क्या है? - George Udosen
@ जॉर्ज 16.04 एलटीएस। - ptf


जवाब:


का उपयोग करते हुए 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

स्रोत:

https://www.everythingcli.org/ssh-tunnelling-for-fun-and-profit-autossh/

https://www.freedesktop.org/software/systemd/man/systemd.service.html


13
2017-08-19 18:33



धन्यवाद! मैं यह कोशिश कर रहा हूं, लेकिन जब मैं दौड़ता हूं 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 - George Udosen
क्या मैं अन्य मशीन के साथ प्रमाणित करने के लिए आवश्यक एसएसएल निजी कुंजी निर्दिष्ट कर सकता हूं? - ptf
मेरा मानना ​​है कि आपका मतलब है autossh -i /home/<user>/.ssh/id_rsa -R 22222:localhost:22 <user>@<remote_host> - George Udosen
मुझे जोड़ने की जरूरत है -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no भी। शायद मुझे उनमें से एक की जरूरत है, व्यक्तिगत रूप से उनका परीक्षण नहीं किया है। इसे यहां मिला: stackoverflow.com/a/24689061/1211119। हालांकि, जब मैं tty1 लॉगिन स्क्रीन (मैं टर्मिनल पर बूट करता हूं) देख रहा हूं, तो सेवा ने अभी तक सुरंग नहीं बनाई है। अगर मैं लॉग इन करता हूं, तो सेवा शुरू होती है। - ptf