ප්රායෝගික උදාහරණ SSH
, නමුත් ජාලය වඩාත් දක්ෂ ලෙස සැරිසැරීම.
උපක්රම කිහිපයක් දැන සිටීම ssh
ඕනෑම පද්ධති පරිපාලකයෙකුට, ජාල ඉංජිනේරුවෙකුට හෝ ආරක්ෂක විශේෂඥයෙකුට ප්රයෝජනවත් වේ.
ප්රායෝගික SSH උදාහරණ
SSH මේස් ප්රොක්සි SSH උමග (වරාය ඉදිරියට යැවීම) තුන්වන ධාරකයට SSH උමග ප්රතිලෝම SSH උමග SSH ප්රතිලෝම ප්රොක්සි SSH හරහා VPN ස්ථාපනය කිරීම SSH යතුරක් පිටපත් කිරීම (ssh-copy-id) දුරස්ථ විධාන ක්රියාත්මක කිරීම (අන්තර්ක්රියාකාරී නොවන) Wireshark හි දුරස්ථ පැකට් අල්ලා ගැනීම සහ බැලීම දේශීය ෆෝල්ඩරයක් SSH හරහා දුරස්ථ සේවාදායකයකට පිටපත් කිරීම SSH X11 ඉදිරියට යැවීම සමඟ දුරස්ථ GUI යෙදුම් rsync සහ SSH භාවිතයෙන් දුරස්ථ ගොනු පිටපත් කිරීම ටෝර් ජාලය හරහා SSH SSH සිට EC2 දක්වා ssh/scp හරහා VIM භාවිතයෙන් පෙළ ගොනු සංස්කරණය කිරීම SSHFS සමඟින් දුරස්ථ SSH දේශීය ෆෝල්ඩරය ලෙස සවි කරන්න ControlPath සමඟින් SSH Multiplexing VLC සහ SFTP භාවිතයෙන් SSH හරහා වීඩියෝ ප්රවාහ කරන්න ද්වි-සාධක සත්යාපනය SSH සහ -J සමග පැනීමේ ධාරක iptables භාවිතයෙන් SSH බෲට් බල උත්සාහයන් අවහිර කිරීම වරාය ඉදිරියට යැවීම වෙනස් කිරීමට SSH Escape
මුලින්ම මූලික කරුණු
SSH විධාන රේඛාව විග්රහ කිරීම
පහත උදාහරණය දුරස්ථ සේවාදායකයකට සම්බන්ධ වන විට බොහෝ විට හමු වන පොදු පරාමිතීන් භාවිතා කරයි SSH
.
localhost:~$ ssh -v -p 22 -C neo@remoteserver
-v
: සත්යාපන ගැටළු විශ්ලේෂණය කිරීමේදී නිදොස්කරණය ප්රතිදානය විශේෂයෙන් ප්රයෝජනවත් වේ. අමතර තොරතුරු පෙන්වීමට කිහිප වතාවක් භාවිතා කළ හැක.- p 22
: සම්බන්ධතා වරාය දුරස්ථ SSH සේවාදායකයකට. 22 සඳහන් කළ යුතු නැත, මන්ද මෙය පෙරනිමි අගයයි, නමුත් ප්රොටෝකෝලය වෙනත් වරායක තිබේ නම්, අපි එය පරාමිතිය භාවිතයෙන් නියම කරමු.-p
. සවන්දීමේ වරාය ගොනුවේ දක්වා ඇතsshd_config
ආකෘතියෙන්Port 2222
.-C
: සම්බන්ධතාවය සඳහා සම්පීඩනය. ඔබට මන්දගාමී සම්බන්ධතාවයක් තිබේ නම් හෝ පෙළ ගොඩක් බලන්නේ නම්, මෙය සම්බන්ධතාවය වේගවත් කළ හැකිය.neo@
: @ සංකේතයට පෙර රේඛාව දුරස්ථ සේවාදායකයේ සත්යාපනය සඳහා පරිශීලක නාමය දක්වයි. ඔබ එය සඳහන් නොකරන්නේ නම්, එය ඔබ දැනට ප්රවිෂ්ට වී ඇති ගිණුමේ පරිශීලක නාමයට පෙරනිමියෙන් (~$whoami) වේ. පරාමිතිය භාවිතයෙන් පරිශීලකයා ද නියම කළ හැක-l
.remoteserver
: සම්බන්ධ වීමට සත්කාරකයේ නමssh
, මෙය සම්පුර්ණ සුදුසුකම් ලත් ඩොමේන් නාමයක්, IP ලිපිනයක් හෝ ප්රාදේශීය ධාරක ගොනුවේ ඇති ඕනෑම සත්කාරකයෙකු විය හැක. IPv4 සහ IPv6 යන දෙකටම සහය දක්වන ධාරකයකට සම්බන්ධ වීමට, ඔබට පරාමිතිය විධාන රේඛාවට එක් කළ හැක.-4
හෝ-6
නිසි විසඳුමක් සඳහා.
ඉහත සියලු පරාමිතීන් හැර විකල්ප වේ remoteserver
.
වින්යාස ගොනුව භාවිතා කිරීම
බොහෝ දෙනෙක් ගොනුව ගැන හුරුපුරුදු වුවද sshd_config
, විධානය සඳහා සේවාදායක වින්යාස ගොනුවක් ද ඇත ssh
. පෙරනිමි අගය ~/.ssh/config
, නමුත් එය විකල්පයක් සඳහා පරාමිතියක් ලෙස අර්ථ දැක්විය හැක -F
.
Host *
Port 2222
Host remoteserver
HostName remoteserver.thematrix.io
User neo
Port 2112
IdentityFile /home/test/.ssh/remoteserver.private_key
ඉහත උදාහරණ ssh වින්යාස ගොනුවේ ධාරක ඇතුළත් කිරීම් දෙකක් ඇත. පළමු එකෙන් අදහස් කරන්නේ සියලුම ධාරක, සියල්ලම Port 2222 වින්යාස පරාමිතිය භාවිතා කරන බවයි.දෙවැන්න පවසන්නේ සත්කාරක සඳහා දුරස්ථ සේවාදායකය වෙනත් පරිශීලක නාමයක්, වරාය, FQDN සහ IdentityFile භාවිතා කළ යුතුය.
විශේෂිත ධාරක වෙත සම්බන්ධ වන විට උසස් වින්යාසය ස්වයංක්රීයව යෙදීමට ඉඩ දීමෙන් වින්යාස ගොනුවකට බොහෝ ටයිප් කිරීමේ කාලය ඉතිරි කර ගත හැක.
SCP භාවිතයෙන් SSH හරහා ගොනු පිටපත් කිරීම
SSH සේවාලාභියා ගොනු පිටපත් කිරීම සඳහා තවත් ඉතා පහසු මෙවලම් දෙකක් සමඟ පැමිණේ සංකේතාත්මක ssh සම්බන්ධතාවය. scp සහ sftp විධානවල සම්මත භාවිතය පිළිබඳ උදාහරණයක් සඳහා පහත බලන්න. බොහෝ ssh විකල්ප මෙම විධාන සඳහාද අදාළ වන බව සලකන්න.
localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png
මෙම උදාහරණයේ ගොනුව mypic.png වෙත පිටපත් කර ඇත දුරස්ථ සේවාදායකය ෆෝල්ඩරයට /මාධ්ය/දත්ත සහ නැවත නම් කරන ලදී mypic_2.png.
වරාය පරාමිතියෙහි වෙනස ගැන අමතක නොකරන්න. මේක තමයි ගොඩක් අය දියත් කරනකොට අහු වෙන්නේ scp
විධාන රේඛාවෙන්. මෙන්න වරාය පරාමිතිය -P
සහ නැත -p
, ssh සේවාලාභියෙකු තුළ මෙන්! ඔබට අමතක වනු ඇත, නමුත් කරදර නොවන්න, සෑම කෙනෙකුටම අමතක වේ.
කොන්සෝලය ගැන හුරුපුරුදු අය සඳහා ftp
, බොහෝ විධාන සමාන වේ sftp
. ඔබට කරන්න පුළුවන් තල්ලුව, දාන්න и lsහදවත කැමති පරිදි.
sftp neo@remoteserver
ප්රායෝගික උදාහරණ
මෙම උදාහරණ බොහොමයක විවිධ ක්රම භාවිතයෙන් ප්රතිඵල ලබා ගත හැක. අපේ හැම එකකම වගේ
1. SSH මේස් ප්රොක්සි
හොඳ හේතුවක් නිසා SSH Proxy විශේෂාංගය අංක 1 වේ. එය බොහෝ දෙනෙකුට වඩා බලවත් වන අතර ඕනෑම යෙදුමක් භාවිතයෙන් දුරස්ථ සේවාදායකයට ප්රවේශය ඇති ඕනෑම පද්ධතියකට ප්රවේශය ලබා දේ. ssh සේවාලාභියෙකුට එක් සරල විධානයක් සමඟ SOCKS ප්රොක්සියක් හරහා ගමනාගමනය උමං කළ හැක. දුරස්ථ පද්ධති වෙත ගමනාගමනය දුරස්ථ සේවාදායකයකින් පැමිණෙන බව වටහා ගැනීම වැදගත්ය, මෙය වෙබ් සේවාදායක ලොග් වල දක්වනු ඇත.
localhost:~$ ssh -D 8888 user@remoteserver
localhost:~$ netstat -pan | grep 8888
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 23880/ssh
මෙන්න අපි TCP port 8888 මත මේස් ප්රොක්සියක් ධාවනය කරමු, දෙවන විධානය මඟින් වරාය සවන්දීමේ මාදිලියේ සක්රිය දැයි පරීක්ෂා කරයි. 127.0.0.1 මඟින් සේවාව ක්රියාත්මක වන්නේ localhost මත පමණක් බවයි. ඊතර්නෙට් හෝ වයිෆයි ඇතුළුව සියලුම අතුරුමුහුණත් වලට සවන් දීමට අපට තරමක් වෙනස් විධානයක් භාවිතා කළ හැකිය, මෙය අපගේ ජාලයේ ඇති අනෙකුත් යෙදුම් (බ්රවුසර් ආදිය) ssh socks ප්රොක්සි හරහා ප්රොක්සි සේවාවට සම්බන්ධ වීමට ඉඩ සලසයි.
localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver
දැන් අපට බ්රවුසරය මේස් ප්රොක්සියට සම්බන්ධ වීමට වින්යාසගත කළ හැක. ෆයර්ෆොක්ස් හි, තෝරන්න සැකසීම් | මූලික | ජාල සැකසුම්. සම්බන්ධ වීමට IP ලිපිනය සහ වරාය සඳහන් කරන්න.
ඔබගේ බ්රවුසරයේ DNS ඉල්ලීම් SOCKS ප්රොක්සියක් හරහා යාමට පෝරමයේ පතුලේ ඇති විකල්පය කරුණාවෙන් සලකන්න. ඔබ ඔබේ ප්රාදේශීය ජාලයේ වෙබ් ගමනාගමනය සංකේතනය කිරීමට ප්රොක්සි සේවාදායකයක් භාවිතා කරන්නේ නම්, ඔබට මෙම විකල්පය තේරීමට අවශ්ය වනු ඇත, එවිට DNS ඉල්ලීම් SSH සම්බන්ධතාවය හරහා උමං කර ඇත.
Chrome හි මේස් ප්රොක්සි සක්රිය කිරීම
නිශ්චිත විධාන රේඛා පරාමිති සමඟ Chrome දියත් කිරීමෙන් මේස් ප්රොක්සි සක්රීය කරයි, මෙන්ම බ්රවුසරයෙන් DNS ඉල්ලීම් උමං කරයි. විශ්වාස කරන්න, නමුත් පරීක්ෂා කරන්න. භාවිත
localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"
ප්රොක්සියක් සමඟ වෙනත් යෙදුම් භාවිතා කිරීම
වෙනත් බොහෝ යෙදුම් මේස් ප්රොක්සි භාවිතා කළ හැකි බව මතක තබා ගන්න. වෙබ් බ්රව්සරය සරලවම ඒවායින් වඩාත් ජනප්රියයි. සමහර යෙදුම්වල ප්රොක්සි සේවාදායකයක් සක්රීය කිරීමට වින්යාස විකල්ප ඇත. අනෙක් අයට උපකාරක වැඩසටහනක් සමඟ කුඩා උපකාරයක් අවශ්ය වේ. උදාහරණ වශයෙන්,
localhost:~$ proxychains rdesktop $RemoteWindowsServer
මේස් ප්රොක්සි වින්යාස පරාමිතීන් ප්රොක්සිචේන් වින්යාස ගොනුව තුළ සකසා ඇත.
ඉඟිය: ඔබ Windows මත Linux වෙතින් දුරස්ථ ඩෙස්ක්ටොප් භාවිතා කරන්නේ නම්? සේවාදායකයා උත්සාහ කරන්න
FreeRDP . මෙය වඩා නවීන ක්රියාත්මක කිරීමකිrdesktop
, වඩාත් සුමට අත්දැකීමක් සමඟ.
මේස් ප්රොක්සි හරහා SSH භාවිතා කිරීමේ විකල්පය
ඔබ ආපන ශාලාවක හෝ හෝටලයක වාඩි වී සිටින අතර - විශ්වාස කළ නොහැකි WiFi භාවිතා කිරීමට බල කෙරේ. අපි ලැප්ටොප් එකකින් දේශීයව ssh ප්රොක්සියක් දියත් කර දේශීය Rasberry Pi එකක ssh උමගක් ගෘහ ජාලයට ස්ථාපනය කරමු. මේස් ප්රොක්සියක් සඳහා වින්යාස කර ඇති බ්රවුසරයක් හෝ වෙනත් යෙදුම් භාවිතයෙන්, අපට අපගේ නිවසේ ජාලයේ ඕනෑම ජාල සේවාවක් වෙත ප්රවේශ වීමට හෝ අපගේ නිවසේ සම්බන්ධතාවය හරහා අන්තර්ජාලයට පිවිසීමට හැකිය. ඔබගේ ලැප්ටොප් පරිගණකය සහ ඔබගේ නිවසේ සේවාදායකය අතර ඇති සියල්ල (Wi-Fi සහ අන්තර්ජාලය හරහා ඔබගේ නිවසට) SSH උමං මාර්ගයක සංකේතනය කර ඇත.
2. SSH උමග (වරාය ඉදිරියට යැවීම)
එහි සරලම ආකාරයෙන්, SSH උමං මාර්ගයක් මඟින් උමගෙහි අනෙක් කෙළවරේ වෙනත් වරායකට සම්බන්ධ වන ඔබේ ප්රාදේශීය පද්ධතියේ වරායක් විවෘත කරයි.
localhost:~$ ssh -L 9999:127.0.0.1:80 user@remoteserver
අපි පරාමිතිය දෙස බලමු -L
. එය සවන්දීමේ දේශීය පැත්ත ලෙස සැලකිය හැකිය. එබැවින් ඉහත උදාහරණයේ, වරාය 9999 දේශීය සත්කාරක පැත්තේ සවන් දී දුරස්ථ සේවාදායකයට වරාය 80 හරහා යවනු ලැබේ. 127.0.0.1 දුරස්ථ සේවාදායකයේ localhost වෙත යොමු වන බව කරුණාවෙන් සලකන්න!
අපි පඩිය උඩට යමු. පහත උදාහරණය දේශීය ජාලයේ අනෙකුත් ධාරක සමඟ සවන්දීමේ වරායන් සන්නිවේදනය කරයි.
localhost:~$ ssh -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver
මෙම උදාහරණ වලදී අපි වෙබ් සේවාදායකයේ වරායකට සම්බන්ධ වන නමුත් මෙය ප්රොක්සි සේවාදායකයක් හෝ වෙනත් ඕනෑම TCP සේවාවක් විය හැකිය.
3. තුන්වන පාර්ශ්ව ධාරකයකට SSH උමග
දුරස්ථ සේවාදායකයක සිට තුන්වන පද්ධතියකින් ක්රියාත්මක වන වෙනත් සේවාවකට උමගක් සම්බන්ධ කිරීමට අපට එම පරාමිතීන්ම භාවිතා කළ හැකිය.
localhost:~$ ssh -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver
මෙම උදාහරණයේදී, අපි දුරස්ථ සේවාදායකයේ සිට 10.10.10.10 දින ධාවනය වන වෙබ් සේවාදායකයකට උමගක් හරවා යවමු. දුරස්ථ සේවාදායකයේ සිට 10.10.10.10 දක්වා ගමනාගමනය තවදුරටත් SSH උමග තුළ නැත. 10.10.10.10 දින වෙබ් සේවාදායකය වෙබ් ඉල්ලීම්වල මූලාශ්රය ලෙස remoteserver සලකනු ඇත.
4. ප්රතිලෝම SSH උමග
මෙහිදී අපි අපගේ ප්රාදේශීය සත්කාරකයේ (හෝ වෙනත් පද්ධතියක) දේශීය වරායට නැවත සම්බන්ධ වන දුරස්ථ සේවාදායකයේ සවන්දීමේ වරායක් වින්යාස කරන්නෙමු.
localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver
මෙම SSH සැසිය දුරස්ථ සේවාදායකයේ 1999 වරායේ සිට අපගේ දේශීය සේවාදායකයාගේ වරාය 902 දක්වා සම්බන්ධතාවයක් ස්ථාපිත කරයි.
5. SSH Reverse Proxy
මෙම අවස්ථාවේදී, අපි අපගේ ssh සම්බන්ධතාවයේ මේස් ප්රොක්සියක් සකසමින් සිටිමු, නමුත් ප්රොක්සිය සේවාදායකයේ දුරස්ථ කෙළවරේ සවන් දෙයි. මෙම දුරස්ථ ප්රොක්සිය වෙත සම්බන්ධතා දැන් උමං මාර්ගයෙන් දිස්වන්නේ අපගේ ප්රාදේශීය සත්කාරකයේ තදබදය ලෙසය.
localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver
දුරස්ථ SSH උමං සමඟ ගැටළු නිරාකරණය කිරීම
ඔබට දුරස්ථ SSH විකල්ප ක්රියා කිරීමේදී ගැටළු තිබේ නම්, පරීක්ෂා කරන්න netstat
, සවන්දීමේ වරාය සම්බන්ධ කර ඇති වෙනත් අතුරුමුහුණත් මොනවාද. අපි උදාහරණ වල 0.0.0.0 දක්වා ඇතත්, අගය නම් ගේට්වේ පෝර්ට්ස් в sshd_config දක්වා සකසා ඇත නැත, එවිට සවන්දෙන්නා දේශීය සත්කාරක (127.0.0.1) වෙත පමණක් බැඳී ඇත.
ආරක්ෂක අනතුරු ඇඟවීම
උමං සහ මේස් ප්රොක්සි විවෘත කිරීමෙන් අභ්යන්තර ජාල සම්පත් විශ්වාස නොකළ ජාල වෙත ප්රවේශ විය හැකි බව කරුණාවෙන් සලකන්න (අන්තර්ජාලය වැනි!). මෙය බරපතල ආරක්ෂක අවදානමක් විය හැක, එබැවින් සවන්දෙන්නා යනු කුමක්ද සහ ඔවුන්ට ප්රවේශය ඇත්තේ කුමක්ද යන්න ඔබ අවබෝධ කර ගැනීමට වග බලා ගන්න.
6. SSH හරහා VPN ස්ථාපනය කිරීම
ප්රහාරක ක්රම (පෙන්ටෙස්ටර්, ආදිය) විශේෂඥයින් අතර පොදු යෙදුමක් වන්නේ "ජාලයේ ෆුල්ක්රම්" යන්නයි. එක් පද්ධතියක සම්බන්ධතාවයක් ස්ථාපිත වූ පසු, එම පද්ධතිය ජාලයට තවදුරටත් ප්රවේශ වීම සඳහා දොරටුව බවට පත් වේ. ඔබට පළලින් ගමන් කිරීමට ඉඩ සලසන ෆුල්ක්රම් එකක්.
එවැනි අඩිතාලමක් සඳහා අපට SSH ප්රොක්සියක් භාවිතා කළ හැකිය proxychains, කෙසේ වෙතත් සමහර සීමාවන් තිබේ. උදාහරණයක් ලෙස, සොකට් සමඟ කෙලින්ම වැඩ කිරීමට නොහැකි වනු ඇත, එබැවින් අපට ජාලය තුළ වරායන් පරිලෝකනය කිරීමට නොහැකි වනු ඇත. SYN
.
මෙම වඩාත් දියුණු VPN විකල්පය භාවිතා කරමින්, සම්බන්ධතාවය අඩු කරනු ලැබේ 3 මට්ටම. එවිට අපට සාමාන්ය ජාල රවුටිං භාවිතයෙන් උමග හරහා ගමනාගමනය සරලව මෙහෙයවිය හැක.
ක්රමය භාවිතා කරයි ssh
, iptables
, tun interfaces
සහ මාර්ගගත කිරීම.
පළමුව ඔබ මෙම පරාමිතීන් සැකසිය යුතුය sshd_config
. අපි දුරස්ථ සහ සේවාදායක පද්ධති දෙකෙහිම අතුරුමුහුණත්වල වෙනස්කම් සිදු කරන බැවින්, අපි දෙපැත්තෙන්ම root අයිතිය අවශ්යයි.
PermitRootLogin yes
PermitTunnel yes
එවිට අපි tun උපාංග ආරම්භ කිරීමට ඉල්ලා සිටින පරාමිතිය භාවිතා කර ssh සම්බන්ධතාවයක් ස්ථාපිත කරමු.
localhost:~# ssh -v -w any root@remoteserver
අතුරුමුහුණත් පෙන්වන විට අපට දැන් ටුන් උපාංගයක් තිබිය යුතුය (# ip a
) මීලඟ පියවරේදී උමං අතුරුමුහුණත් වලට IP ලිපින එකතු කරනු ඇත.
SSH සේවාදායක පැත්ත:
localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up
SSH සේවාදායක පැත්ත:
remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up
දැන් අපට වෙනත් ධාරකයකට සෘජු මාර්ගයක් ඇත (route -n
и ping 10.10.10.10
).
ඔබට ඕනෑම උපජාලයක් අනෙක් පැත්තේ ඇති සත්කාරකයක් හරහා ගමන් කළ හැක.
localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0
දුරස්ථ පැත්තෙන් ඔබ සක්රිය කළ යුතුය ip_forward
и iptables
.
remoteserver:~# echo 1 > /proc/sys/net/ipv4/ip_forward
remoteserver:~# iptables -t nat -A POSTROUTING -s 10.10.10.2 -o enp7s0 -j MASQUERADE
උත්පාතය! ජාල ස්ථරය 3 හි SSH උමග හරහා VPN. දැන් ඒක ජයග්රහණයක්.
කිසියම් ගැටළුවක් ඇත්නම්, භාවිතා කරන්න ping
හේතුව තීරණය කිරීමට. අපි 3වන ස්ථරයේ ක්රීඩා කරන නිසා අපගේ icmp පැකට් මෙම උමඟ හරහා යයි.
7. SSH යතුර පිටපත් කරන්න (ssh-copy-id)
මෙය කිරීමට ක්රම කිහිපයක් ඇත, නමුත් මෙම විධානය අතින් ගොනු පිටපත් නොකිරීමෙන් කාලය ඉතිරි වේ. එය සරලව ඔබේ පද්ධතියෙන් ~/.ssh/id_rsa.pub (හෝ පෙරනිමි යතුර) පිටපත් කරයි ~/.ssh/authorized_keys
දුරස්ථ සේවාදායකයක් මත.
localhost:~$ ssh-copy-id user@remoteserver
8. දුරස්ථ විධාන ක්රියාත්මක කිරීම (අන්තර්ක්රියාකාරී නොවන)
කණ්ඩායම ssh
පොදු, පරිශීලක-හිතකාමී අතුරු මුහුණතක් සඳහා වෙනත් විධානවලට සම්බන්ධ කළ හැක. ඔබට දුරස්ථ ධාරකය මත ධාවනය කිරීමට අවශ්ය විධානය උපුටා දැක්වීම්වල අවසාන පරාමිතිය ලෙස එක් කරන්න.
localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php
මෙම උදාහරණයේ grep
ලොගය ssh නාලිකාව හරහා බාගත කිරීමෙන් පසු දේශීය පද්ධතිය මත ක්රියාත්මක වේ. ගොනුව විශාල නම්, එය ක්රියාත්මක කිරීම වඩාත් පහසු වේ grep
දුරස්ථ පැත්තේ විධාන දෙකම ද්විත්ව උද්ධෘත වලින් සරලව ඇතුළත් කිරීමෙන්.
තවත් උදාහරණයක් එකම කාර්යය ඉටු කරයි ssh-copy-id
උදාහරණ 7 සිට.
localhost:~$ cat ~/.ssh/id_rsa.pub | ssh remoteserver 'cat >> .ssh/authorized_keys'
9. Wireshark හි දුරස්ථ පැකට් අල්ලා ගැනීම සහ බැලීම
මම අපේ එකෙක් ගත්තා
:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
10. දේශීය ෆෝල්ඩරයක් SSH හරහා දුරස්ථ සේවාදායකයකට පිටපත් කිරීම
භාවිතා කරමින් ෆෝල්ඩරයක් සම්පීඩනය කරන ලස්සන උපක්රමයක් bzip2
(මෙය විධානයේ -j විකල්පයයි tar
), ඉන්පසු ප්රවාහය ලබා ගනී bzip2
අනෙක් පැත්තෙන්, දුරස්ථ සේවාදායකයේ අනුපිටපත් ෆෝල්ඩරයක් නිර්මාණය කිරීම.
localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"
11. SSH X11 Forwarding සමඟ දුරස්ථ GUI යෙදුම්
X සේවාලාභියා සහ දුරස්ථ සේවාදායකය මත ස්ථාපනය කර ඇත්නම්, එවිට ඔබට ඔබගේ දේශීය ඩෙස්ක්ටොප් එකේ කවුළුවක් සමඟ දුරස්ථව GUI විධානයක් ක්රියාත්මක කළ හැක. මෙම විශේෂාංගය දිගු කලක් තිස්සේ පැවතුන නමුත් තවමත් ඉතා ප්රයෝජනවත් වේ. මම මෙම උදාහරණයේ කරන ආකාරයට දුරස්ථ වෙබ් බ්රවුසරයක් හෝ VMWawre Workstation කොන්සෝලය දියත් කරන්න.
localhost:~$ ssh -X remoteserver vmware
අවශ්ය තන්තුව X11Forwarding yes
ගොනුවේ sshd_config
.
12. rsync සහ SSH භාවිතයෙන් දුරස්ථ ගොනු පිටපත් කිරීම
rsync
වඩාත් පහසු scp
, ඔබට ඩිරෙක්ටරියක ආවර්තිතා උපස්ථ අවශ්ය නම්, ගොනු විශාල සංඛ්යාවක් හෝ ඉතා විශාල ගොනු. මාරුවීම් අසාර්ථක වීමෙන් යථා තත්ත්වයට පත් කිරීම සහ වෙනස් කළ ගොනු පමණක් පිටපත් කිරීම සඳහා කාර්යයක් ඇත, එය ගමනාගමනය සහ කාලය ඉතිරි කරයි.
මෙම උදාහරණය සම්පීඩනය භාවිතා කරයි gzip
(-z) සහ සංරක්ෂිත මාදිලිය (-a), එය පුනරාවර්තන පිටපත් කිරීම සක්රීය කරයි.
:~$ rsync -az /home/testuser/data remoteserver:backup/
13. ටෝර් ජාලය හරහා SSH
නිර්නාමික ටෝර් ජාලයට විධානය භාවිතයෙන් SSH ගමනාගමනය උමං කළ හැක torsocks
. පහත දැක්වෙන විධානය Tor හරහා ssh proxy යවයි.
localhost:~$ torsocks ssh myuntracableuser@remoteserver
14. SSH සිට EC2 දක්වා
EC2 අවස්ථාවක් වෙත සම්බන්ධ වීමට, ඔබට පුද්ගලික යතුරක් අවශ්ය වේ. Amazon EC2 පාලන පැනලයෙන් එය (.pem දිගුව) බාගත කර අවසර වෙනස් කරන්න (chmod 400 my-ec2-ssh-key.pem
) යතුර ආරක්ෂිත ස්ථානයක තබා හෝ ඔබේම ෆෝල්ඩරයක තබන්න ~/.ssh/
.
localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public
පරාමිතිය -i මෙම යතුර භාවිතා කරන ලෙස ssh සේවාදායකයාට සරලව පවසයි. ගොනුව ~/.ssh/config
ec2 ධාරකයකට සම්බන්ධ වන විට යතුරු භාවිතය ස්වයංක්රීයව වින්යාස කිරීම සඳහා වඩාත් සුදුසුය.
Host my-ec2-public
Hostname ec2???.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/my-ec2-key.pem
15. ssh/scp හරහා VIM භාවිතයෙන් පෙළ ගොනු සංස්කරණය කිරීම
සියලුම පෙම්වතුන් සඳහා vim
මෙම ඉඟිය යම් කාලයක් ඉතිරි කරයි. භාවිතා කිරීම මගින් vim
ගොනු එක් විධානයකින් scp හරහා සංස්කරණය කරනු ලැබේ. මෙම ක්රමය මඟින් ගොනුව දේශීයව නිර්මාණය කරයි /tmp
ඉන්පසු අපි එය සුරැකූ පසු එය නැවත පිටපත් කරයි vim
.
localhost:~$ vim scp://user@remoteserver//etc/hosts
සටහන: ආකෘතිය සුපුරුදු පරිදි තරමක් වෙනස් ය scp
. සත්කාරකයෙන් පසුව අපට දෙගුණයක් ඇත //
. මෙය නිරපේක්ෂ මාර්ග යොමුවකි. එක් ස්ලෑෂ් එකක් ඔබගේ මුල් ෆෝල්ඩරයට සාපේක්ෂව මාර්ගයක් දක්වයි users
.
**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])
ඔබ මෙම දෝෂය දුටුවහොත්, විධාන ආකෘතිය දෙවරක් පරීක්ෂා කරන්න. මෙය සාමාන්යයෙන් සින්ටැක්ස් දෝෂයක් අදහස් කරයි.
16. SSHFS සමඟ දේශීය ෆෝල්ඩරයක් ලෙස දුරස්ථ SSH සවි කිරීම
සහාය ඇතිව sshfs
- ගොනු පද්ධති සේවාදායකයා ssh
- සංකේතාත්මක සැසියකදී සියලුම ගොනු අන්තර්ක්රියා සමඟින් අපට දේශීය නාමාවලියක් දුරස්ථ ස්ථානයකට සම්බන්ධ කළ හැක ssh
.
localhost:~$ apt install sshfs
පැකේජය උබුන්ටු සහ ඩේබියන් මත ස්ථාපනය කරන්න sshfs
, ඉන්පසු දුරස්ථ ස්ථානය අපගේ පද්ධතියට සවි කරන්න.
localhost:~$ sshfs user@remoteserver:/media/data ~/data/
17. ControlPath සමග SSH Multiplexing
පෙරනිමියෙන්, දුරස්ථ සේවාදායකයක් භාවිතා කරමින් පවතින සම්බන්ධතාවයක් තිබේ නම් ssh
භාවිතා කරන දෙවන සම්බන්ධතාවය ssh
හෝ scp
අමතර සත්යාපනයක් සහිත නව සැසියක් ස්ථාපිත කරයි. විකල්පය ControlPath
සියලුම පසු සම්බන්ධතා සඳහා පවතින සැසිය භාවිතා කිරීමට ඉඩ සලසයි. මෙය ක්රියාවලිය සැලකිය යුතු ලෙස වේගවත් කරනු ඇත: දේශීය ජාලයක පවා බලපෑම කැපී පෙනෙන අතර දුරස්ථ සම්පත් වෙත සම්බන්ධ වන විට ඊටත් වඩා.
Host remoteserver
HostName remoteserver.example.org
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
ControlPath සක්රිය සැසියක් තිබේදැයි බැලීමට නව සම්බන්ධතා සඳහා සොකට් එක නියම කරයි ssh
. අවසාන විකල්පයෙන් අදහස් වන්නේ ඔබ කොන්සෝලයෙන් පිටවීමෙන් පසුව පවා, පවතින සැසිය විනාඩි 10 ක් විවෘතව පවතිනු ඇති බවයි, එබැවින් මෙම කාලය තුළ ඔබට පවතින සොකට් එක මත නැවත සම්බන්ධ විය හැක. වැඩි විස්තර සඳහා, උපකාරය බලන්න. ssh_config man
.
18. VLC සහ SFTP භාවිතයෙන් SSH හරහා වීඩියෝ ප්රවාහය කරන්න
දිගුකාලීන පරිශීලකයන් පවා ssh
и vlc
(වීඩියෝ ලැන් සේවාලාභියා) ඔබට ජාලය හරහා වීඩියෝවක් නැරඹීමට අවශ්ය වූ විට මෙම පහසු විකල්පය සැමවිටම නොදනී. සැකසුම් තුළ ගොනුව | ජාල ප්රවාහය විවෘත කරන්න වැඩසටහන් vlc
ඔබට ස්ථානය ඇතුළු කළ හැක sftp://
. මුරපදයක් අවශ්ය නම්, විමසුමක් දිස්වනු ඇත.
sftp://remoteserver//media/uploads/myvideo.mkv
19. ද්වි සාධක සත්යාපනය
ඔබගේ බැංකු ගිණුම හෝ Google ගිණුම වැනි ද්වි-සාධක සත්යාපනය SSH සේවාවට අදාළ වේ.
ඇත්ත වශයෙන්ම, ssh
මුලදී ද්වි-සාධක සත්යාපන ශ්රිතයක් ඇත, එනම් මුරපදයක් සහ SSH යතුරකි. දෘඪාංග ටෝකනයක හෝ Google Authenticator යෙදුමක ඇති වාසිය නම් එය සාමාන්යයෙන් වෙනස් භෞතික උපාංගයක් වීමයි.
අපගේ මිනිත්තු 8 මාර්ගෝපදේශය බලන්න
20. ssh සහ -J සමඟින් පැනීමේ ධාරක
ජාල ඛණ්ඩනය යනු අවසාන ගමනාන්ත ජාලය වෙත යාමට ඔබට බහු ssh ධාරක හරහා පැන යා යුතු නම්, -J කෙටිමඟ ඔබගේ කාලය ඉතිරි කරයි.
localhost:~$ ssh -J host1,host2,host3 [email protected]
මෙහිදී තේරුම් ගත යුතු ප්රධානතම දෙය නම් මෙය විධානය හා සමාන නොවන බවයි ssh host1
එවිට user@host1:~$ ssh host2
යනාදී. -J විකල්පය දක්ෂ ලෙස ඉදිරියට යැවීම භාවිතා කරන්නේ දම්වැලෙහි ඊළඟ ධාරකය සමඟ සැසියක් පිහිටුවීමට localhost හට බල කිරීමටය. ඉතින් ඉහත උදාහරණයේ දී, අපගේ localhost විසින් host4 වෙත සත්යාපනය කර ඇත. එනම්, අපගේ දේශීය සත්කාරක යතුරු භාවිතා කරන අතර, localhost සිට host4 දක්වා සැසිය සම්පූර්ණයෙන්ම සංකේතනය කර ඇත.
එවැනි හැකියාවක් සඳහා ssh_config
සැකසුම් විකල්පය සඳහන් කරන්න ProxyJump. ඔබට නිතිපතා සත්කාරක කිහිපයක් හරහා යාමට සිදුවුවහොත්, වින්යාසය හරහා ස්වයංක්රීයකරණය බොහෝ කාලයක් ඉතිරි කරයි.
21. iptables භාවිතයෙන් SSH බෲට් බල උත්සාහයන් අවහිර කරන්න
SSH සේවාවක් කළමනා කර ඇති සහ ලඝු-සටහන් දෙස බලන ඕනෑම අයෙකු සෑම දිනකම සෑම පැයකටම සිදුවන brute force උත්සාහයන් ගණන ගැන දනී. ලොග් වල ශබ්දය අඩු කිරීමට ඉක්මන් ක්රමයක් වන්නේ SSH සම්මත නොවන වරායකට ගෙන යාමයි. ගොනුවේ වෙනස්කම් කරන්න sshd_config
වින්යාස පරාමිතිය හරහා වරාය##.
සහාය ඇතිව iptables
ඔබට නිශ්චිත සීමාවකට ළඟා වූ පසු වරායකට සම්බන්ධ වීමට දරන උත්සාහයන් පහසුවෙන් අවහිර කළ හැකිය. මෙය කිරීමට පහසු ක්රමයක් වන්නේ භාවිතා කිරීමයි
22. වරාය ඉදිරියට යැවීම වෙනස් කිරීමට SSH Escape
සහ අපගේ අවසාන උදාහරණය ssh
පවතින සැසියක් තුළ පියාසර කරන විට වරාය ඉදිරියට යැවීම වෙනස් කිරීමට නිර්මාණය කර ඇත ssh
. මෙම දර්ශනය සිතා බලන්න. ඔබ ජාලය තුළ ගැඹුරු ය; සමහර විට ධාරක දුසිම් භාගයකට වඩා වැඩි ප්රමාණයක් ඇති අතර පැරණි Windows 2003 පද්ධතියක Microsoft SMB වෙත යොමු කරන ලද වැඩපොළෙහි දේශීය වරායක් අවශ්ය වේ (ඕනෑම කෙනෙකුට ms08-67 මතකද?).
ක්ලික් කිරීම enter
, කොන්සෝලයට ඇතුළු වීමට උත්සාහ කරන්න ~C
. මෙය පවතින සම්බන්ධතාවකට වෙනස්කම් කිරීමට ඉඩ සලසන සැසි පාලන අනුපිළිවෙලකි.
localhost:~$ ~C
ssh> -h
Commands:
-L[bind_address:]port:host:hostport Request local forward
-R[bind_address:]port:host:hostport Request remote forward
-D[bind_address:]port Request dynamic forward
-KL[bind_address:]port Cancel local forward
-KR[bind_address:]port Cancel remote forward
-KD[bind_address:]port Cancel dynamic forward
ssh> -L 1445:remote-win2k3:445
Forwarding port.
අපි අභ්යන්තර ජාලයෙන් සොයාගත් Windows 1445 සත්කාරක සමාගමකට අපගේ ප්රාදේශීය වරාය 2003 යොමු කර ඇති බව මෙහිදී ඔබට පෙනෙනු ඇත. දැන් දුවන්න msfconsole
, සහ ඔබට ඉදිරියට යා හැකිය (ඔබ මෙම සත්කාරක භාවිතා කිරීමට අදහස් කරන බව උපකල්පනය කරයි).
සම්පූර්ණ කිරීම
මෙම උදාහරණ, ඉඟි සහ විධාන ssh
ආරම්භක ලක්ෂ්යයක් ලබා දිය යුතුය; එක් එක් විධාන සහ හැකියාවන් පිළිබඳ වැඩි විස්තර man පිටු වල ඇත (man ssh
, man ssh_config
, man sshd_config
).
ලෝකයේ ඕනෑම තැනක පද්ධති වෙත ප්රවේශ වීමට සහ විධාන ක්රියාත්මක කිරීමට ඇති හැකියාව ගැන මම නිතරම වශී වී සිටිමි. වැනි මෙවලම් සමඟ ඔබේ කුසලතා වර්ධනය කර ගැනීමෙන් ssh
ඔබ ක්රීඩා කරන ඕනෑම ක්රීඩාවකදී ඔබ වඩාත් ඵලදායී වනු ඇත.
මූලාශ්රය: www.habr.com