ආපසු හැරවීමේ SSH උමං මාර්ග ක්‍රියා කරන්නේ කෙසේද?


378

මා මෙය තේරුම් ගත් පරිදි, ෆයර්වෝල්ස් (පෙරනිමි සැකසුම් උපකල්පනය කරයි) පෙර අනුරූප පිටතට යන ගමනාගමනය නොමැති සියලුම පැමිණෙන ගමනාගමනය ප්‍රතික්ෂේප කරයි.

එස්එස්එච් සම්බන්ධතාවයක් ආපසු හැරවීම සහ එස්එස්එච් උමං මාර්ග සෑදීම පහසු කිරීම මත පදනම්ව , ප්‍රතිලෝම එස්එස්එච් උමං මාර්ගයෙන් කරදරකාරී ෆයර්වෝල් සීමාවන් ඉක්මවා යා හැකිය.

දුරස්ථ යන්ත්‍රයක ෂෙල් විධාන ක්‍රියාත්මක කිරීමට මම කැමතියි. දුරස්ථ යන්ත්‍රයට තමන්ගේම ෆයර්වෝලයක් ඇති අතර අතිරේක ෆයර්වෝලයක් (රවුටරය) පිටුපසින් ඇත. එහි IP ලිපිනයක් 192.168.1.126 (හෝ ඊට සමාන දෙයක්) ඇත. මම ෆයර්වෝලයක් පිටුපස නොසිටින අතර දුරස්ථ යන්ත්‍රයේ IP ලිපිනය අන්තර්ජාලයෙන් පෙනෙන පරිදි මම දනිමි (192.168.1.126 ලිපිනය නොවේ). මීට අමතරව, ssh (something)දුරස්ථ යන්ත්‍රයේ root ලෙස ක්‍රියාත්මක කිරීමට මට යමෙකුගෙන් ඉල්ලා සිටිය හැකිය .

පියවරෙන් පියවර, ෆයර්වෝල් (දේශීය හා දුරස්ථ යන්ත්‍රවල ෆයර්වෝල් සහ ඒවා අතර ඇති අතිරේක ෆයර්වෝලය) වටා ගමන් කිරීම සඳහා එස්එස්එච් උමං මාර්ග ක්‍රියා කරන්නේ කෙසේදැයි මට පැහැදිලි කළ හැකිද?

මෙම ස්විච භූමිකාව කුමක්ද ( -R, -f, -L, -N)?


Answers:


435

දෘශ්‍යකරණය තුළින් මේ ආකාරයේ දෙයක් පැහැදිලි කිරීමට මම කැමතියි. :-)

ඔබේ SSH සම්බන්ධතා නල ලෙස සිතන්න. විශාල නල. සාමාන්‍යයෙන් දුරස්ථ පරිගණකයක කවචයක් ධාවනය කිරීම සඳහා ඔබ මෙම නල හරහා ළඟා වේ. කවචය අථත්ය පර්යන්තයක (tty) ධාවනය වේ. නමුත් ඔබ දැනටමත් මෙම කොටස දන්නවා.

ඔබේ උමග නලයක් තුළ ඇති නලයක් ලෙස සිතන්න. ඔබට තවමත් විශාල SSH සම්බන්ධතාවයක් ඇත, නමුත් -L හෝ -R විකල්පය මඟින් එය තුළ කුඩා නලයක් සැකසීමට ඉඩ ලබා දේ.

සෑම නළයකම ආරම්භයක් හා අවසානයක් ඇත. විශාල නළය, ඔබේ SSH සම්බන්ධතාවය ඔබේ SSH සේවාදායකයා සමඟ ආරම්භ වී ඔබ සම්බන්ධ කළ SSH සේවාදායකයෙන් අවසන් වේ. සියලු කුඩා නල "ආරම්භ කිරීම" ෙහෝ "අවසන්" ලෙස ඔබ භාවිතා යන්න තීරණය කරන බව හැර, එම Endpoints ඇති -Lහෝ -Rඔවුන් නිර්මාණය කිරීමට (පිළිවෙළින්).

(ඔබ පවසා නැත, නමුත් මම උපකල්පනය කරන්නේ ඔබ සඳහන් කළ "දුරස්ථ" යන්ත්‍රයට, ෆයර්වෝලය පිටුපස ඇති ජාලයට ජාල ලිපින පරිවර්තන (NAT) භාවිතයෙන් අන්තර්ජාලයට පිවිසිය හැකි බවයි. මෙය යම් ආකාරයක වැදගත්, එබැවින් කරුණාකර මෙම උපකල්පනය අසත්‍ය නම් එය නිවැරදි කරන්න.)

ඔබ උමගක් සාදන විට, එයට පිළිතුරු සපයන ලිපිනයක් සහ වරායක් සහ එය ලබා දෙන ලිපිනය සහ වරාය සඳහන් කරන්න. මෙම -Lවිකල්පය උමග (ඔබගේ සේවාදායකයා ධාවනය සත්කාරක) දේශීය පැත්තේ පිළිතුරු දීමට උමග කියයි. මෙම -Rවිකල්පය දුරස්ථ පැත්තේ (මෙම SSH සේවාදායකයේ) පිළිතුරු දීමට උමග කියයි.

ssh උමං දිශාවන්

ඉතින් ... අන්තර්ජාලයෙන් ෆයර්වෝලයක් පිටුපස ඇති යන්ත්‍රයකට එස්එස්එච් කිරීමට හැකිවීම සඳහා, බාහිර ලෝකයට එස්එස්එච් සම්බන්ධතාවයක් විවෘත කිරීමට ඔබට අවශ්‍ය යන්ත්‍රය අවශ්‍ය වන අතර -Rඋමගක් ඇතුළත් කළ යුතු “පිවිසුම්” ස්ථානය “දුරස්ථ” පැත්තයි ඔහුගේ සම්බන්ධතාවය.

ඉහත පෙන්වා ඇති මාදිලි දෙකෙන් ඔබට අවශ්‍ය වන්නේ දකුණු පස ඇති එකයි.

ෆයර්වෝල්ඩ් ධාරකයෙන්:

ssh -f -N -T -R22222:localhost:22 yourpublichost.example.com

මෙය ඔබේ සේවාදායකයාට -Rචිත්තවේගීය පිවිසුම් ස්ථානයක් සහිත උමගක් ස්ථාපිත කිරීමට පවසයි . උමගෙහි end ත කෙළවරේ 22222 වරායට සම්බන්ධ ඕනෑම දෙයක් ඇත්ත වශයෙන්ම "localhost port 22" වෙත ළඟා වනු ඇත, එහිදී "localhost" යනු උමගෙන් පිටවන ස්ථානයේ දෘෂ්ටි කෝණයෙන් (එනම් ඔබේ ssh සේවාදායකයා).

අනෙක් විකල්ප:

  • -f එය සත්‍යාපනය කළ පසු පසුබිමට ssh ට කියයි, එබැවින් උමග ජීවතුන් අතර සිටීම සඳහා දුරස්ථ සේවාදායකයේ යමක් ධාවනය කිරීමට ඔබ වාඩි විය යුතු නැත.
  • -Nඔබට SSH සම්බන්ධතාවයක් අවශ්‍ය බව පවසයි, නමුත් ඔබට දුරස්ථ විධාන ක්‍රියාත්මක කිරීමට අවශ්‍ය නැත. ඔබ නිර්මාණය කරන්නේ උමගක් නම්, මෙම විකල්පය ඇතුළත් කිරීමෙන් සම්පත් ඉතිරි වේ.
  • -T ව්‍යාජ-ටීටී වෙන් කිරීම අක්‍රීය කරයි, එය සුදුසු වන්නේ ඔබ අන්තර්ක්‍රියාකාරී කවචයක් සෑදීමට උත්සාහ නොකරන බැවිනි.

මුරපද රහිත පිවිසුමක් සඳහා ඔබ DSA හෝ RSA යතුරු සකසා නොමැති නම් මුරපද අභියෝගයක් ඇත.

මෙම උමග / පාරිභෝගිකයා / සේවාදායකයා සඳහා ඔබ විසින් සකසන ලද ඉවතලන ගිණුමක් (ඔබේම පිවිසුමක් නොවේ) භාවිතා කිරීම තරයේ නිර්දේශ කර ඇති බව සලකන්න.

දැන්, ඔබේ පොදු ගබඩාවේ ඇති ඔබේ කවචයෙන් , උමඟ හරහා ගිනි නිවන ධාරකයට සම්බන්ධතාවයක් ඇති කරන්න:

ssh -p 22222 username@localhost

ඔබ මීට පෙර කවදාවත් මෙම සත්කාරකයට පහර නොදුන් බැවින් ඔබට සත්කාරක යතුරු අභියෝගයක් ලැබෙනු ඇත. එවිට ඔබට usernameගිණුම සඳහා මුරපද අභියෝගයක් ලැබෙනු ඇත (ඔබ මුරපද රහිත පිවිසුම සඳහා යතුරු සකසා නොමැති නම්).

ඔබ නිතිපතා මෙම සත්කාරකයට ප්‍රවේශ වීමට යන්නේ නම්, ඔබේ ~/.ssh/configගොනුවට පේළි කිහිපයක් එකතු කිරීමෙන් ඔබට ප්‍රවේශය සරල කළ හැකිය :

host remotehostname
    User remoteusername
    Hostname localhost
    Port 22222

සකසන්න remotehostname හා remoteusernameගැළපෙන. මෙම remoteusernameක්ෂේත්රයේ දුරස්ථ සේවාදායකය මත ඔබගේ පරිශීලක නාමය ගැලපිය යුතුයි, නමුත් remotehostnameඇඳුම් කට්ටල, ඔබ, එය කිසිවක් විෙභ්දන ගැලපෙන නැති බව ඕනෑම ධාරක නාමයක් විය හැක.

මෙයද බලන්න:


2
ssh -D ගැන කුමක් කිව හැකිද? කරුණාකර එකම ක්‍රමයක් භාවිතා කර පැහැදිලි කරන්න.
බිග්සැක්

6
SOCKS ප්‍රොක්සි උමං මාර්ග හා සමාන නොවේ. ඒවා භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳව ඔබට ප්‍රශ්නයක් ඇත්නම් කරුණාකර එය විමසන්න .
ගොති

13
කොන්දේසි ලිහිල් ලෙස භාවිතා කිරීම නිසා මට මෙම පැහැදිලි කිරීම අනුගමනය කිරීම ඉතා අසීරු වේ: සේවාදායකයා, සේවාදායකයා, දේශීය යන්ත්‍රය, දුරස්ථ යන්ත්‍රය, සත්කාරක, ඔබේ පොදු හොස්ට්, දේශීය හොස්ට්, දුරස්ථ හොස්ට් නම. මේ සියලු ලිහිල් හා නිර්වචනය නොකළ යෙදුම් සමඟ, මෙය සැකසීමට යමෙකුට පරිගණක 8 ක් පමණ අවශ්‍ය වනු ඇතැයි උපකල්පනය කළ හැකිය. මා මෙය ප්‍රකාශ කරන්නේ අනෙක් සෑම අංශයකින්ම එය ඉතා හොඳ පැහැදිලි කිරීමක් ලෙස පෙනෙන බැවිනි. කරුණාකර කොන්දේසි අඩු කර අර්ථ දක්වන්න.
රුසෙන්ට් 88

4
@ Rucent88, අඩු කිරීම කුමක් කළ හැකිදැයි මට විශ්වාස නැත. සේවාදායකයෙක් සේවාදායකයකට සම්බන්ධතාවයක් ඇති කරයි. ජාලකරණ ලොව පුරා පොදු පාරිභාෂිතය එයයි. දේශීය හා දුරස්ථ යන්ත්‍ර ස්වයංක්‍රීයව පෙනේ. ප්‍රලේඛනය කියවීමෙන් පසු ඔබ SSH හෝ සාමාන්‍ය යුනික්ස් පාරිභාෂිතය පිළිබඳව ව්‍යාකූල වී ඇත්නම්, ඔබට ඇති ඕනෑම ප්‍රශ්නයකට පිළිතුරු දීමට කැමැත්තෙන් සිටින පුද්ගලයින් සොයා ගැනීමට ඔබට කිසිදු ගැටළුවක් ඇති නොවන බව මට විශ්වාසයි.
ghoti

10
දේශීය හා දුරස්ථ යන්ත්‍ර සාපේක්ෂ බැවින් එය ඇත්තෙන්ම ව්‍යාකූල ය. මම රැකියා ස්ථානයේ වාඩි වී සිටින විට මගේ නිවසේ පරිගණකය දුරස්ථ වේ, මම නිවසේ වාඩි වී සිටින විට සේවා ස්ථානයේ පරිගණකය දුරස්ථ වේ. උමං මාර්ග ගැන කතා කිරීමේදී සේවාදායකයා සහ සේවාදායකයා ද ව්‍යාකූල වේ. උදාහරණයක් ලෙස මම ssh -R සමඟ වැඩ සිට ගෙදරට සම්බන්ධ වන්නේ නම්. Localhost සම්බන්ධ කිරීමෙන් මම නිවසේ පරිගණකයෙන් මගේ කාර්යයට සම්බන්ධ වෙමි. එබැවින් සොකට් දෘෂ්ටි කෝණයෙන් සේවාදායකය ගෘහ පරිගණකය වේ. නමුත් තර්කානුකූලව මම මගේ වැඩ පරිගණකයට සම්බන්ධ කළෙමි. එය අවුල් සහගතය.
කැල්මේරියස්

392

මම රූප සටහන් කිහිපයක් ඇඳ ඇත

Ssh උමං විධානය ටයිප් කරන යන්ත්‍රය »ඔබේ සත්කාරක called ලෙස හැඳින්වේ .

ssh උමග දේශීය සිට ආරම්භ වේ


ssh උමග දුරස්ථ සිට ආරම්භ වේ

හැදින්වීම

  1. දේශීය: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHostඅර්ථය: ssh වෙත සම්බන්ධ වන්න connectToHost, සහ සියලු සම්බන්ධතා උත්සාහයන් දේශීයව හැඳින්වෙන යන්ත්‍රය sourcePortවෙත වරාය onPortවෙත forwardToHostයොමු කරන්න.connectToHost යන්ත්‍රයෙන් .

  2. දුරස්ථ: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHostමෙයින් අදහස් වන්නේ: ssh සමඟ සම්බන්ධ වී connectToHost, ඔබේ සම්බන්ධතා යන්ත්‍රයෙන් දුරස්ථය sourcePort වෙත වරාය onPortවෙත යොමු කරන්න forwardToHost, එය ඔබේ දේශීය යන්ත්‍රයෙන් ලබා ගත හැකිය.

අමතර විකල්ප

  • -f එය සත්‍යාපනය කළ පසු පසුබිමට ssh ට කියයි, එබැවින් උමග ජීවතුන් අතර සිටීම සඳහා දුරස්ථ සේවාදායකයේ යමක් ධාවනය කිරීමට ඔබ වාඩි විය යුතු නැත.
  • -Nඔබට SSH සම්බන්ධතාවයක් අවශ්‍ය බව පවසයි, නමුත් ඔබට දුරස්ථ විධාන ක්‍රියාත්මක කිරීමට අවශ්‍ය නැත. ඔබ නිර්මාණය කරන්නේ උමගක් නම්, මෙම විකල්පය ඇතුළත් කිරීමෙන් සම්පත් ඉතිරි වේ.
  • -T ව්‍යාජ-ටීටී වෙන් කිරීම අක්‍රීය කරයි, එය සුදුසු වන්නේ ඔබ අන්තර්ක්‍රියාකාරී කවචයක් සෑදීමට උත්සාහ නොකරන බැවිනි.

ඔබේ උදාහරණය

තෙවන රූපය මෙම උමග නියෝජනය කරයි. නමුත් your ඔබේ සත්කාරක called නමින් හැඳින්වෙන නිල් පරිගණකය යමෙකු ssh උමග ආරම්භ කරන පරිගණකය නියෝජනය කරයි , මේ අවස්ථාවේ දී ෆයර්වෝල්ඩ් යන්ත්‍රය.

එබැවින්, ඔබේ යන්ත්‍රයට ssh උමං සම්බන්ධතාවයක් ආරම්භ කිරීමට යමෙකුගෙන් ඉල්ලා සිටින්න. විධානය මූලික වශයෙන් පෙනිය යුතුය

ssh -R 12345:localhost:22 YOURIP

දැන් උමග විවෘත කර ඇත. දැන් ඔබට විධානය සමඟ උමඟ හරහා ෆයර්වෝල්ඩ් යන්ත්‍රයට ssh හරහා සම්බන්ධ විය හැකිය

ssh -p 12345 localhost

එය localhostවරායේ ඇති ඔබේම (ඔබේ යන්ත්‍රයට) සම්බන්ධ වනු ඇත 12345, නමුත් වරාය 12345උමං මාර්ගයෙන් ෆයර්වෝල්ඩ් පරිගණකයේ දේශීය හොස්ට් 22 හි වරාය වෙත යොමු කරනු ලැබේ (එනම් ෆයර්වෝල්ඩ් පරිගණකයම).


2
@erik, ඔබ මෙම රූප අඳින්නේ කෙසේද?
පැසීරියර්

2
මම භාවිතා කළේ විවෘත මූලාශ්‍ර දෛශික ඇඳීමේ මෙවලම වන ඉන්ක්ස්කේප් සහ මගේ මීයන් (හොඳයි, ඇත්ත වශයෙන්ම එය ට්‍රැක්බෝල් එකක්: ලොජිටෙක් වෙතින් මාර්බල් එෆ්එක්ස්).
එරික්

1
othhoti: පෙරනිමියෙන්, සේවාදායකයේ සවන්දීමේ සොකට්ටුව (මගේ -R රූපයේ කහ දුරස්ථ තැටිය) ලූප්බැක් අතුරුමුහුණතට පමණක් බැඳී ඇත . Bind_address එකක් නියම කිරීමෙන් මෙය ඉක්මවා යා හැක. හිස් bind_address හෝ '*' ලිපිනයෙන් ඇඟවෙන්නේ දුරස්ථ සොකට්ටුව සියලු අතුරුමුහුණත් වලට සවන් දිය යුතු බවයි. - එබැවින් එය උත්සාහ කරන්න: නිල් පරිගණක ආරම්භයකින් ssh -R 1234:localhost:8000 yellowcomputer. නිල් මැෂින් ආරම්භයේදී python -m SimpleHTTPServer(8000 වරායේ සරල වෙබ් සේවාදායකයක්). කහ යන්ත්‍රයේ වෙබ් බ්‍රව්සරයක URL එක විවෘත කළ විට http://localhost:1234එය ක්‍රියාත්මක වන බව ඔබට පෙනෙනු ඇත.
එරික්

1
@erik, ආ, අවුල් සහගත කොටස වන්නේ මගේ ඇස් නරක නිසා - remotehostඔබේ විධානයන්හි මා කලින් අවකාශය දැක නොතිබීමයි . සමීපව පරීක්ෂා කර බැලීමේදී, ඔබේ රූප සටහන් ඇත්ත වශයෙන්ම විකල්ප බින්ඩ් ඇඩ්‍රස් වෙත ආමන්ත්‍රණය නොකරන බව මට පෙනේ. ව්යාකූලත්වයට කණගාටුයි.
ගොති

1
ඔව්, ඇත්තෙන්ම. අවම වශයෙන් ඔබට ෆයර්වෝලය පිටුපස ඇති පරිගණකයට ssh සම්බන්ධතාවයක් ඇති කර ගැනීමට අවශ්‍ය නම් (උමඟ හරහා හෝ කෙලින්ම, ෆයර්වෝලය එයට ඉඩ දෙන්නේ නම්). එනම්: ඔබ ෆයර්වෝල්ඩ් පරිගණකයේ ලියන ssh- විධානය උමගක් පමණක් විවෘත කරයි, නමුත් එය ආරම්භ කිරීම හෝ ssh-deemon / -server ලෙස ක්‍රියා නොකරයි. ඔබේ ඊළඟ ප්‍රශ්නය විය යුත්තේ, මූල වරප්‍රසාද නොමැතිව sshd ආරම්භ කරන්නේ කෙසේද යන්නයි (එය ඔබගේ ගැටලුව නම්). :-)
එරික්

24

අතිරේක ගමනාගමනය යැවීම සඳහා දැනටමත් පිහිටුවා ඇති ssh සම්බන්ධතාවය භාවිතා කරමින් ssh උමං මාර්ග කටයුතු කරයි.

ඔබ දුරස්ථ සේවාදායකයකට සම්බන්ධ වූ විට, ඔබට සාමාන්‍යයෙන් සාමාන්‍ය පරිශීලක අන්තර්ක්‍රියා සඳහා නාලිකා 1 ක් ඇත (හෝ ඔබ STDIN / STDOUT / STDERR වෙන් වෙන් වශයෙන් සලකන්නේ නම් නාලිකා 3 ක්). ඕනෑම වේලාවක, දේශීය හෝ දුරස්ථ ssh ක්‍රියාවලියට පවතින සම්බන්ධතාවයේ අතිරේක නාලිකා විවෘත කළ හැකිය. මෙම නාලිකා පසුව උමං ගමනාගමනය යවයි / ලබයි. කිසියම් ගමනාගමනයක් යැවීමේදී හෝ ලැබීමේදී, ssh ක්‍රියාවලිය සරලවම පවසන්නේ “මෙම ගමනාගමනය නාලිකා ෆූබාර් සඳහා” බවයි.

එය අත්‍යවශ්‍යයෙන්ම මේ ආකාරයට ක්‍රියා කරයි:

  1. XXXX වරායට සවන්දීම ආරම්භ කරන ලෙස ඔබ ssh ට පවසන අතර ලැබෙන ඕනෑම ගමනාගමනයක් උමං කළ යුතු අතර පසුව ZZZZ වරායේ YYYY ලෙස සකසන්න.
  2. දේශීය ssh XXXX වරායට සවන්දීම ආරම්භ කරයි (සාමාන්‍යයෙන් ක්‍රියාත්මක වේ 127.0.0.1 වන නමුත් වෙනස් කළ හැකිය).
  3. සමහර යෙදුම දේශීය යන්ත්‍රයේ XXXX වරායට සම්බන්ධතාවයක් විවෘත කරයි.
  4. දේශීය ssh දුරස්ථ ssh වෙත නාලිකාවක් විවෘත කර "මෙම නාලිකාවේ ඕනෑම ගමනාගමනය YYYY: ZZZZ වෙත යයි
  5. දුරස්ථ ssh YYYY: ZZZZ හා සම්බන්ධ වී "හරි, නාලිකාව විවෘතයි"
  6. දැන් දේශීය යන්ත්‍රයේ XXXX වරාය වෙත සම්බන්ධතාවය හරහා යවන ඕනෑම ගමනාගමනය ssh මගින් YYYY: ZZZZ වෙත ප්‍රොක්සි කර ඇත.

මෙම ක්‍රියාවලිය ඉදිරි හා ප්‍රතිලෝම උමං මාර්ග සඳහා හරියටම සමාන වේ (ඉහත ක්‍රියා පටිපාටියේ 'දේශීය' සහ 'දුරස්ථ' යන වචන මාරු කරන්න). දෙපැත්තටම උමග ආරම්භ කළ හැකිය. ඔබ මුලින්ම ssh ආරම්භ කරන විට එය එසේ විය යුතු නැත. Ssh දැනටමත් ක්‍රියාත්මක වන අතරතුර ඔබට උමං මාර්ග විවෘත කළ හැකිය (බලන්න ESCAPE CHARACTERS, විශේෂයෙන්~C ).

ගේ චරිතය සඳහා -R, -f, -L, සහ -N, ඇත්තටම ඔබ පමණක් man පිටුව වෙත යොමුවන්න යුතු, එය ඔබ හැකි හොඳම පැහැදිලි කිරීමක් ලබා දෙයි. නමුත් මම සඳහන් කරන්නම් -Rසහ -L.
-Rදුරස්ථ ssh ට සම්බන්ධතා වලට සවන් දෙන ලෙස පවසන අතර දේශීය ssh සැබෑ ගමනාන්තයට සම්බන්ධ විය යුතුය. -Lදේශීය ssh ට සම්බන්ධතා වලට සවන් දෙන ලෙස පවසන අතර දුරස්ථ ssh සැබෑ ගමනාන්තයට සම්බන්ධ විය යුතුය.

සටහන, මෙය ඉතා ගොරහැඩි විස්තරයකි, නමුත් එය සිදුවන්නේ කුමක්ද යන්න දැන ගැනීමට ප්‍රමාණවත් තොරතුරු ලබා දිය යුතුය


18

මෙය SSH අත්පොතෙහි පැහැදිලි කර ඇත, විශේෂයෙන් -L(දේශීය) සහ -R(දුරස්ථ) අතර වෙනස්කම් .


-L

-L [bind_address:]port:host:hostport

දේශීය (සේවාදායක) ධාරකයේ ලබා දී ඇති වරාය දුරස්ථ පැත්තේ දී ඇති ධාරකයට සහ වරායට යොමු කළ යුතු බව නියම කරයි .

මෙය ක්‍රියාත්මක වන්නේ දේශීය පැත්තේ වරායට සවන්දීම සඳහා සොකට් එකක් වෙන් කිරීමෙනි.

මෙම වරායට සම්බන්ධතාවයක් ඇති විට, සම්බන්ධතාවය ආරක්ෂිත නාලිකාව හරහා යොමු කරනු ලබන අතර දුරස්ථ යන්ත්‍රයෙන් වරාය වෙතhosthostport සම්බන්ධතාවයක් සාදනු ලැබේ .

පහත උදාහරණයෙන් 1234 වරාය භාවිතා කරමින් ග්‍රාහක යන්ත්‍රයෙන් 127.0.0.1( localhost) දුරස්ථ සේවාදායකයට IRC සැසියක් උමං කරයි server.example.com:

$ ssh -f -L 1234:localhost:6667 server.example.com sleep 10

සටහන: උමං මාර්ගයෙන් සේවාව ආරම්භ කිරීමට යම් කාලයක් ලබා දීම සඳහා -fවිකල්ප පසුබිම් ssh සහ දුරස්ථ විධානය sleep 10නියම කර ඇත.

උදාහරණයක්:

ssh `-N` -L 22000:localhost:11000 remote.server.com
  • -N ඔබ සම්බන්ධ වූ පසු එහි රැඳී සිටින්න (ඔබට ෂෙල් විමසුමක් නොලැබෙනු ඇත)

    දුරස්ථ විධානයක් ක්‍රියාත්මක නොකරන්න.

  • -L 22000සම්බන්ධතාවය ඔබේ පුද්ගලික, එල් ocal යන්ත්‍රයේ 22000 වරායෙන් ආරම්භ වේ

  • localhost:11000- remote.server.comඋමගෙහි අනෙක් කෙළවර localhostවරාය බව සහතික කරයි11000

ssh -N -L 22000: 192.168.1.2: 11000 remote.server.com

මූලාශ්‍රය: ssh උමං මාර්ග පිළිබඳ නිදර්ශන මාර්ගෝපදේශයක්, නිබන්ධනයක්, කෙසේද-කෙසේද .


-R

-R [bind_address:]port:host:hostport

දුරස්ථ (සේවාදායක) ධාරකයේ ලබා දී ඇති වරාය දේශීය පැත්තේ දී ඇති ධාරකයට සහ වරායට යොමු කළ යුතු බව නියම කරයි .

portදුරස්ථ පැත්තේ සවන්දීම සඳහා සොකට් එකක් වෙන් කිරීමෙන් මෙය ක්‍රියාත්මක වන අතර, මෙම වරායට සම්බන්ධතාවයක් ඇති වූ විට, සම්බන්ධතාවය ආරක්ෂිත නාලිකාව හරහා යොමු කරනු ලබන අතර, දේශීය යන්ත්‍රයෙන් වරායට සම්බන්ධතාවයක් ලබා දෙනු ලැබේhosthostport .

උදාහරණයක්:

ssh -N -R 22000:localhost:11000 remote.server.com
  • -N ඔබ සම්බන්ධ වූ පසු එහි රැඳී සිටින්න (ඔබට ෂෙල් විමසුමක් නොලැබෙනු ඇත)

    දුරස්ථ විධානයක් ක්‍රියාත්මක නොකරන්න.

  • -R22000 සම්බන්ධතාවය R emote පරිගණකයේ 22000 වරායෙන් ආරම්භ වේ (මේ අවස්ථාවේ දී remote.server.com)

  • localhost:11000ඔබේ පුද්ගලික, දේශීය පරිගණකය උමගෙහි අනෙක් කෙළවර localhostවරාය බව සහතික කරයි11000

ssh -N -R 22000: localhost: 11000 remote.server.com

මූලාශ්‍රය: ssh උමං මාර්ග පිළිබඳ නිදර්ශන මාර්ගෝපදේශයක්, නිබන්ධනයක්, කෙසේද-කෙසේද .


6
කන් සහ මුඛය පැහැදිලිව පැහැදිලි කරන්නේ කවුද කතා කරන්නේ සහ සවන් දෙන්නේ කවුද යන්නයි!
තුෆීර්

1
මම ඔබේ නිදර්ශන වලට කැමතියි!
mcantsin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.