सिस्टम स्टार्टअप पर स्वत: प्रारंभ करें


16

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

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


उबंटू का यह कौन सा संस्करण है?
जॉर्ज उडोसन

@ जॉर्ज 16.04 एलटीएस।
ptf

जवाबों:


21

इसका उपयोग 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
    

ध्यान दें

हालाँकि सिस्टमड और ऑटोएसएसएच के बारे में ध्यान देने योग्य एक महत्वपूर्ण बात है: -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>
जॉर्ज उदेन

2
मुझे भी जोड़ने की जरूरत थी -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no। शायद मुझे सिर्फ उनमें से एक की आवश्यकता है, उन्हें व्यक्तिगत रूप से परीक्षण नहीं किया है। इस यहाँ मिला: stackoverflow.com/a/24689061/1211119 । हालाँकि, जब मैं tty1 लॉगिन स्क्रीन (मैं बूट टू टर्मिनल) देख रहा हूँ, सेवा ने अभी तक सुरंग नहीं बनाई है। यदि मैं लॉग इन करता हूं, तो सेवा शुरू होती है।
ptf

2
कभी-कभी आप एक अलग उपयोगकर्ता संदर्भ के तहत चलाना चाहते हैं। ऐसा करने के लिए: जोड़े User=usernameको [Service]systemd फ़ाइल में अनुभाग।
फ्राइडेरब्लुमेले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.