એસએસએચ પરના બંદરોને રીડાયરેક્ટ કરો

કેટલીકવાર આપણને જરૂર પડે છે સોકેટ દ્વારા ડેટા ટ્રાન્સમિટ કરો જુદા જુદા મશીનો વચ્ચે, જેમ કે ટેલનેટ કનેક્શન, FTP ફાઇલ ડાઉનલોડ, એસક્યુએલ ક્વેરી અથવા કોઈપણ અન્ય પ્રકારનો ટ્રાન્સમિશન.

તે ડેટા નેટવર્ક દ્વારા કાચા પ્રવાસ કરે છે, તેથી અસુરક્ષિત, જેનો અર્થ છે કે તેઓ કોઈપણ નોડ કે જે મૂળ અને લક્ષ્યસ્થાન વચ્ચેના માર્ગ પર છે દ્વારા અટકાવવામાં આવી શકે છે, એટલે કે, રોબેડોઝ.

અમે આ ડેટાને કેપ્ચર થવાથી રોકી શકીએ નહીં, પરંતુ આપણે જે રોકી શકીએ છીએ તે છે કે તે તૃતીય પક્ષ દ્વારા અર્થઘટન કરવામાં આવે છે અને સમજાય છે, સંદેશાવ્યવહારને એન્ક્રિપ્ટ કરે છે.

SSH તે સાધન છે જે આપણને કરવા દે છે સુરક્ષિત કનેક્શન્સ મશીનો વચ્ચે. તેનો સૌથી સામાન્ય ઉપયોગ આદેશ દુભાષિયાથી દૂરસ્થ જોડવાનો છે.

જો કે, તે બનાવવા જેવી અન્ય શક્યતાઓ આપે છે એન્ક્રિપ્ટ થયેલ ટનલ વિવિધ મશીનો વચ્ચે.
માની લો કે આપણે હોસ્ટ 1 થી હોસ્ટ 2 સુધી ટેલનેટ કરવા માંગો છો:

host1$ telnet host2

આ વાતચીત તદ્દન ખુલ્લી છે અને હોઈ શકે છે અટકાવેલ. તેની સુરક્ષા માટે, અમે હોસ્ટ 5000 પર એક મનસ્વી રીતે પસંદ કરેલ પોર્ટ (ઉદાહરણ તરીકે 1) ને હોસ્ટ 23 પર 2 (ટેલનેટ) પર રીડાયરેક્ટ કરીશું.

આ રીતે આપણે યજમાન 5000 ના પોર્ટ 1 પર મોકલેલા તમામ ડેટાને ટનલ દ્વારા એન્ક્રિપ્ટ થયેલ મુસાફરી માટે મોકલીશું જે હોસ્ટ 22 ના બંદર 2 દ્વારા ખોલે છે અને ત્યારબાદ યજમાન 23 ના બંદર 2 પર રીડાયરેક્ટ થશે, આમ તેના અંતિમ લક્ષ્ય સુધી પહોંચશે.

આ કરવા માટે, આપણે હોસ્ટ 2 નું વપરાશકર્તા નામ અને પાસવર્ડ જાણવાની જરૂર છે.

ટનલ ખોલવા માટે આપણે લખીએ છીએ:

host1$ ssh -R 5000:localhost:23 usuariohost2@host2

ઓ સરસ:

host1$ ssh -L 5000:host2:23 usuariohost2@host2

બંને વિકલ્પો સમાન છે. ટેલનેટ કનેક્શન સ્થાપિત કરવા માટે, અમે હવે યજમાન 2 નો નહીં પરંતુ હોસ્ટ 1 પર પસંદ કરેલા પોર્ટનો સંદર્ભ લો:

host1$ telnet localhost 5000

આની મદદથી અમે કોઈપણ સંદેશાવ્યવહારને સુરક્ષિત બનાવીએ છીએ, તે ટેલેનેટ હોય અથવા અન્યથા. થોડી વધુ તપાસ કરીશું અમે જોઈશું કે શક્તિનો આભાર SSH આ રીડાયરેક્શન્સ ત્રીજા મશીનો પર પણ થઈ શકે છે, જે અમને પરવાનગી આપે છે કે એક જ એન્ટ્રી પોઇન્ટથી આપણે સુરક્ષિત રીતે આખા લેનથી અલગ લ LANન સુધી પહોંચી શકીએ.


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.

  1.   નેનો જણાવ્યું હતું કે

    સિદ્ધાંત અત્યંત રસપ્રદ લાગે છે, પરંતુ જો આપણે કોઈ વ્યવહારિક કેસ જોયે તો તે વધુ રસપ્રદ રહેશે.

    પરંતુ સત્ય એ છે કે, હું ટૂંકા હોવા છતાં, મને લેખ ખૂબ ગમ્યો.

    1.    સમાન જણાવ્યું હતું કે

      કદાચ વિકી તરફ જોતાં તમને પ્રેરણા મળે https://wiki.archlinux.org/index.php/Secure_Shell#Forwarding_other_ports
      અને તે જ, પરંતુ ssટોશેશ વિભાગ https://wiki.archlinux.org/index.php/Secure_Shell#Autossh_-_automatically_restarts_SSH_sessions_and_tunnels
      ખરેખર, તમે ssh દ્વારા જે કંઈપણ મોકલી શકો છો, તે સ્ટ્રીમિંગ હોય, હોસ્ટ સાથેના જોડાણો. વગેરે X કારણોસર તમે તેમને એન્ક્રિપ્ટ કરવા માંગો છો.
      અને સલામત નિયમો

  2.   ટેસ્લા જણાવ્યું હતું કે

    હું કેટલીકવાર ખૂબ જ મૂળભૂત સ્તરે એસએસએચનો ઉપયોગ કરું છું. ડિફ defaultલ્ટ બંદર 22 છે, ખરું?

    તેથી, જો હું યોગ્ય રીતે સમજી શકું છું, તો મારું પીસી હોસ્ટ 1 છે અને એક જે હું હોસ્ટ 2 ને કનેક્ટ કરવા માંગુ છું, આ ટનલ 5000 પોર્ટ અને તેના બંદર 23 વચ્ચે જોડાણ બનાવશે, અને પછી બંદર 22 પર સમાપ્ત થશે?

    બંદરો બદલવાના કારણો શા માટે? શું તમે બંદર 22 સાથે ટનલ બનાવી શકો છો?

    ખૂબ જ રસપ્રદ લેખ. નેનોની જેમ, હું પણ વધુ ઇચ્છું છું!

    1.    ગેટાફિક્સ જણાવ્યું હતું કે

      એસએસએચ ખરેખર ડિફ defaultલ્ટ રૂપે 22 નો ઉપયોગ કરે છે (જો કે તે બદલી શકાય છે). આ બંદર તે છે જેનો ઉપયોગ બંને હોસ્ટ્સ વચ્ચેનો વાસ્તવિક સંચાર કરશે. તે તે છે કે તમારે ખાતરી કરવી પડશે કે તે ખુલ્લી છે અને કોઈ ફાયરવ itલ તેને કાપી નાખશે નહીં. પરંતુ વપરાશકર્તા માટે તે સંપૂર્ણ પારદર્શક છે. તમે તેના વિશે ભૂલી શકો છો. ઉદાહરણમાં, રીડાયરેક્શન એ બંદરો 5000 અને 23 ની વચ્ચે છે. આ બંને ફક્ત તમારે જ ચિંતા કરવાની જરૂર છે. વપરાશકર્તા જોશે કે તેણે તેના યજમાનના 5000 ને બંદર પર મોકલેલી બધું ગંતવ્ય હોસ્ટના 23 પર દેખાય છે.
      દેખીતી રીતે, દરેક વપરાશકર્તા તે યોગ્ય બ considર્ટ્સને રીડાયરેક્ટ કરી શકે છે.

      તમારી ટિપ્પણી બદલ આભાર. આ મારી પ્રથમ પોસ્ટ છે અને તમારા મંતવ્યો આગળની એક વધુ સારી બનાવવામાં મદદ કરશે.

  3.   ઇલિયોટાઇમ 3000 જણાવ્યું હતું કે

    શું તે પણ વીપીએસ સાથે કરી શકાય છે?

  4.   ધૂંટર જણાવ્યું હતું કે

    ઠીક છે આ મારો કેસ છે, પીસી 1 ને સર્વરની hasક્સેસ છે, પરંતુ પીસી 2 નથી, બંને એસ.એસ.એસ દ્વારા કનેક્ટ કરે છે, હું પીસી 2 માં એક્સેસ મેળવવા માંગુ છું, પરંતુ પીસી 1 નું કયું પોર્ટ હું રીડાયરેક્ટ કરું છું? જો ખરેખર મારે જોઈએ છે કે પીસી 2 થી સર્વર પોર્ટ પર પહોંચવું છે અને પેકેટ્સમાં તેમના સ્ત્રોત આઇપી તરીકે પીસી 1 છે. હું સમજી શકું?

    1.    ગેટાફિક્સ જણાવ્યું હતું કે

      તમે તમારી જાતને સમજો છો. આ સ્થિતિમાં તમારે પીસી 1 ના પોર્ટને સર્વરના 2 પોર્ટ પર રીડાયરેક્ટ કરવા માટે પીસી 22 ની જરૂર છે:

      PC2 $ ssh -L 5000: સર્વર: 22 વપરાશકર્તા પીસી 1 @ પીસી 1

      અને, બીજા ટર્મિનલથી, આ જોડાણને ખુલ્લું રાખવું:

      PC2 $ ssh વપરાશકર્તાસર્વર @ લોકલહોસ્ટ -p 5000

      અને તમે પહેલાથી જ અંદર છો.

      1.    ધૂંટર જણાવ્યું હતું કે

        છેલ્લે એક કાર્યાત્મક ઉકેલો !! આભાર ગેટાફિક્સ, તમે મને શક્યતાઓની દુનિયા આપી છે !!

        1.    ગેટાફિક્સ જણાવ્યું હતું કે

          હું ખુશ છું!

  5.   ઇલાવ જણાવ્યું હતું કે

    Excelente artículo. Bienvenido a DesdeLinux 😀

    અને જો આપણે 22 અવરોધિત કર્યા છે તો શું કરવું? હા હા હા..

    1.    ગેટાફિક્સ જણાવ્યું હતું કે

      આભાર ઇલાવ.
      જો તમારી પાસે બંદર 22 અવરોધિત છે, એમએમએમએમ છે, તો તમારે એક્સડી ફાયરવ hackલને હેક કરવા માટે કોઈ વિકલ્પ શોધવાનું રહેશે

    2.    ઇલિયોટાઇમ 3000 જણાવ્યું હતું કે

      અને સૌથી ખરાબ (કાલ્પનિક): કે તે VPS પ્રદાતા દ્વારા અવરોધિત છે.

  6.   એજીઆર જણાવ્યું હતું કે

    મેં તેના વિશેના પ્રશ્નો સાથે થોડા કલાકો પહેલા જ એક પરીક્ષા કરી હતી 😛

  7.   મારિયો જણાવ્યું હતું કે

    હું એમ કહીશ નહીં:
    યજમાન 1 $ ssh -R 5000: સ્થાનિક હોસ્ટ: 23 વપરાશકર્તાહોસ્ટ 2 @ હોસ્ટ 2
    તે અન્ય આદેશ વાક્યની સમકક્ષ છે ... -L સાથેની.
    ત્યારથી -R સૂચવે છે કે નવા કનેક્શન્સ માટે ખોલવામાં આવેલ પોર્ટ, દૂરસ્થ બાજુ પર છે, એટલે કે, તમારા ssh સર્વરની બાજુ પર; જ્યારે -L નવા જોડાણો મેળવવા માટે ક્લાયંટ બાજુ, સ્થાનિક બાજુએ એક પોર્ટ ખોલે છે.

    વાક્ય અનુવાદ:
    યજમાન 1 $ ssh -R 5000: સ્થાનિક હોસ્ટ: 23 વપરાશકર્તાહોસ્ટ 2 @ હોસ્ટ 2
    તે આના જેવું કંઈક હશે: યજમાન 1 પર હોવાને કારણે, હોસ્ટ 22 ના ssh સર્વર (પોર્ટ 2) ને મારા વપરાશકર્તા વપરાશકર્તાહોસ્ટ 2 સાથે કનેક્ટ કરો અને યજમાન 5000 ના દૂરસ્થ પોર્ટ 2 પર જનરેટ કરેલા જોડાણોને હોસ્ટ 23 પર પોર્ટ 1 પર મોકલી શકો છો (મારું લોકલહોસ્ટ)

    જો નહીં, તો મને સુધારો! 😉

    -

    બીજી બાજુ ... જો કોઈ સર્વરે પોર્ટ 22 પર જોડાણોના પ્રવેશને અવરોધિત કર્યા છે, એટલે કે, આપણે ssh સર્વરથી દૂરથી કનેક્ટ કરી શકીએ નહીં; શું કરી શકાય છે; કે સર્વરમાંથી (રિમોટ હોસ્ટ 2 સિસ્ટમના ફાયરવ behindલ પાછળનો મિત્ર સિસ્ડેમિન) આદેશ વાક્ય ચલાવવામાં આવે છે:

    યજમાન 2 $ nohup ssh -fN -R 6000: સ્થાનિક હોસ્ટ: 22 વપરાશકર્તાહોસ્ટ 1 @ હોસ્ટ 1

    -f પૃષ્ઠભૂમિ પર જાય છે
    -N દૂરસ્થ પર કોઈ આદેશ ચલાવતું નથી
    nohup લ logગઆઉટ થવા પર આદેશના અમલને વિક્ષેપિત થવાથી અટકાવે છે

    હોસ્ટ 1 $ ssh વપરાશકર્તાહોસ્ટ 2 @ લોકલહોસ્ટ -p 6000

    આ રીતે, હોસ્ટ 1 થી આપણે લોકલહોસ્ટ (સમાન હોસ્ટ 1) પર પોર્ટ 6000 પર કનેક્શન જનરેટ કરીએ છીએ જે રિમોટ સિસ્ટમ હોસ્ટ 22 ના પોર્ટ 2 પરના જોડાણને આગળ ધપાવશે, જેમાં આપણે વપરાશકર્તા હોસ્ટ 2 સાથે લ logગ ઇન કરીશું.

    આ પરવાનગી આપે છે (મેં તેની ચકાસણી કરી નથી, પરંતુ લાગે છે કે તે કાર્ય કરે છે) અંદરથી થોડી સહાયથી ફાયરવાલ દ્વારા અવરોધિત એસએસએસ સર્વર પર લ logગ ઇન કરો! 😀

    બાદમાં મેં ગિક સ્ટફ મેગેઝિનમાં કરેલા સમજૂતીમાંથી વાંચ્યું
    http://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel/

    મને ખરેખર તમારું પ્રકાશન ગમે છે; હું તેમને વારંવાર વાંચું છું!
    શુભેચ્છાઓ.

    1.    ગેટાફિક્સ જણાવ્યું હતું કે

      તમે સાચા છો. લેખમાં ભૂલ છે. રીડાયરેક્ટ્સ સમાન નથી. હોસ્ટ 1 $ ssh -R 5000 આદેશ: લોકલહોસ્ટ: 23 યુઝરહોસ્ટ 2 @ હોસ્ટ 2 રીવર્સ રીડાયરેક્શન કરે છે, એટલે કે, તે રીમોટ પોર્ટ 5000 ને 23 લોકલ પર રીડાયરેક્ટ કરે છે, આદેશ જે -L કરે છે તેનાથી વિરુદ્ધ છે.
      સુધારણા બદલ આભાર.