22 හැර වෙනත් වරායක SSH කරන්නේ කෙසේද


186

එකම රවුටරය පිටුපස මට පරිගණක දෙකක් තිබේ. අපි ඒවා A සහ ​​B ලෙස හඳුන්වමු.

A ට SSH සිට B දක්වා පහත පරිදි කළ හැකිය: ssh usr@<internal ip of computer>

B ට SSH සිට A දක්වා එය කළ හැකි නමුත් බාහිර IP භාවිතා කළ යුතුය. මගේ රවුටරයේ 22 වන වරාය පරිගණක A හි IP වෙත යොමු කර ඇති අතර එමඟින් සියල්ල මට තේරේ.

කෙසේ වෙතත්, මට අවශ්‍ය වන්නේ වරාය 26 පරිගණක බී වෙතද, එස්එස්එච් ජාලයෙන් පිටත සිට දෙකටම බාහිර අයිපී භාවිතා කිරීමෙනි, නමුත් කුමන පරිගණකය භාවිතා කළ යුතුද යන්න effectively ලදායී ලෙස තෝරා ගැනීම සඳහා වරාය 22 හෝ 26 සඳහන් කරන්න.

iptablesA හි OUTPUT සහ B හි INPUT හරහා 26 වන වරායට ඉඩ දීමට මම උත්සාහ කර ඇත , නමුත් එය ක්‍රියාත්මක නොවන බව පෙනේ. මම A සඳහා 22 සමඟ කළ පරිදි 26 වන වරාය B හි අභ්‍යන්තර IP වෙත (රවුටරය හරහා) යොමු කර ඇත.

බාහිර IP සහ වරාය 26 භාවිතා කරමින් A සිට B දක්වා SSH කිරීමට උත්සාහ කරන විට මට ලැබෙන දේ මෙන්න:

ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.

අනුවාද:

  • A = OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 මාර්තු 2012
  • B = OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1c 10 මැයි 2012

A හි උබුන්ටු 12.04 ක් ඇත, B යනු රාස්ප්බියන් සමඟ රාස්ප්බෙරි පයි වේ.

සංස්කරණය කරන්න: මට දැමීමට අමතක වූ දෙයක්: මම SSH වින්‍යාස ගොනුව මාරු කිරීමට උත්සාහ කළෙමි (එය මට පෙනී ගියේය /etc/ssh/ssh_config) මම #රේඛාව සමඟ නොගැලපෙන (මකා දැමූ ) Portසහ වෙනස් 22කර 26ඇත. එය මට සම්බන්ධතාවය ප්‍රතික්ෂේප කළ පණිවිඩය ලබා දුන්නේය. (මම නැවත පණ ගැන්වූයේ කිසිදු .ලක් නොවීය.)


දෙවන යන්ත්‍රයේ 22 හෝ 26 වරායේ යූඑස් ඕඑස් එස්එස්එච් ක්‍රියාත්මක වේද?
නර්ඩ්ෆෙස්ට්

1
/ Etc / ssh / ssh_config යනු ssh ග්‍රාහක වින්‍යාසය බව සලකන්න . කොහෙද / etc / ssh / sshd_config යනු ssh ඩීමන් වින්‍යාසයයි.
steakunderscore

Answers:


50

දෙවන යන්ත්‍රයේ ඔබ 26 වන වරායේ SSH ධාවනය නොකරන බව පෙනේ. ඔබට එම යන්ත්‍රයේ වරාය අංකය 26 දක්වා වෙනස් කළ හැකිය.

එක්කෝ සංස්කරණය කරන්න /etc/ssh/sshd_configසහ SSH නැවත ආරම්භ කිරීමට අමතක නොකරන්න හෝ එය 22 මත තබන්න, නමුත් දෙවන යන්ත්‍රයේ 22 වන වරාය වෙත රවුටරයේ 26 වන වරාය යොමු කරන්න. එසේම, දෙවන යන්ත්‍රයේ ඇති ෆයර්වෝල් සැකසුම් වෙනස් කිරීමට අමතක නොකරන්න.


අහ් ... ඉතින් sshd_config වෙනස් විය යුතුයි, ssh_config නොවේද?
ගැරී

2
නිවැරදි. sshd යනු සේවාවයි (d යනු ඩීමන් සඳහා). වින්‍යාස ගොනුව සංස්කරණය කරන්න (sudo gedit සමඟ), පසුව "sudo service ssh restart" සමඟ සේවාව නැවත ආරම්භ කරන්න.
නර්ඩ්ෆෙස්ට්

2
ගැටලුව විසඳීය. කිසිදු ෆයර්වෝල් සැකසුම් වෙනස් කිරීමට අවශ්‍ය නොවීය.
ගැරී

434

ඔබ ලිනක්ස් පද්ධතියේ සිටින අතර ඔබට 26 වන වරායේ SSH සේවාදායකයකට සම්බන්ධ වීමට අවශ්‍ය නම් ඔබට පහත විධානය භාවිතා කළ හැකිය.

ssh user@192.168.1.1 -p 26

සටහන:

  1. ඔබගේ සේවාදායකයේ IP ලිපිනය හෝ DNS නම සමඟ සේවාදායක IP ප්‍රතිස්ථාපනය කරන්න.
  2. ඔබ සකසා ඇති පරිදි ඔබේ වරාය අංකය වෙනස් කරන්න.
  3. ඔබ අභිරුචි වරාය SSH භාවිතා කරන්නේ නම්, එම වරායම බොහෝ විට පිටතට යන, ෆයර්වෝලය තුළට ඇතුළුවීම සඳහා අවසර දෙනු ලැබේ, එසේ නොමැතිනම් සම්බන්ධතාවය ස්ථාපිත නොවේ

9
නැත මෙය නිවැරදි පිළිතුර නොවේ. අපේක්ෂිත වරායට ඩීමන් ඇහුම්කන් නොදීම OP ට ගැටලුවක් විය. ඔහු පැහැදිලිවම SSH සේවාදායකය සහ / හෝ NAT වින්‍යාසය සඳහා උදව් ඉල්ලා සිටියේය, නමුත් වර්තමාන පිළිතුර මුල් පෝස්ට් නොසලකා හරින අතර OP වෙත දැනටමත් දන්නා සේවාදායක විධාන විකල්පය විස්තර කරයි. මෙම පිළිතුර මෙතරම් ඉහළ නැංවීමක් සිදු වූයේ කෙසේදැයි මම කල්පනා කරමි.
nnovich-OK

3
මෙය බහුතරයකට නිවැරදි ය, නමුත් මෙය OP හි ගැටලුවට නිවැරදි නොවේ.
Ultrasonic54321

නමුත් අත්පොතෙහි මෙසේ සඳහන් වේ: .... [පරිශීලක host] සත්කාරක [: වරාය]] .... මට යමක් මග හැරුණාද?
තාත්තා 32

OP ඔහුගේ ප්‍රශ්නය පැහැදිලිවම ඇසූ බව මම නොකියමි. මට පෙනී ගියේ ඔහුට 26 වන වරාය හා සම්බන්ධ වීමට ගැටලු ඇති බවය. සේවාදායකයා හෝ සේවාදායකයා ගැටළුවද යන්න පැහැදිලි නැත.
මාටි ෆ්‍රයිඩ්

ඔබගේ පෝස්ටයට ස්තූතියි - එය මා සොයන දෙයයි. @ තාත්තා 32 ට සටහන: ඔබට නැති වී ඇත්තේ එම ආකෘතිය උත්සාහ කිරීමයි. එය මගේ පද්ධතියේ ක්‍රියා නොකරයි, නමුත් -p විකල්පය ක්‍රියා කරයි.
මාටි ෆ්‍රයිඩ්

10

මම පෝට් 22 භාවිතා කරන්නේ ඉන්ටනෙට් එස්එස් ප්‍රවේශය සඳහා පමණි.

අන්තර්ජාලය හරහා ප්‍රවේශ වීම සඳහා මම අභිරුචි (අසාමාන්‍ය) වරායක් භාවිතා කරමි. "සුප්‍රසිද්ධ පරිශීලක නාම" සඳහා වරාය 22 පරිලෝකනය කරන ස්ක්‍රිප්ට් ළමයින් විසින් නිපදවන බර අඩු කිරීමෙන් මෙම ප්‍රතිලාභය ඇත.

මෙම බාහිර sshd ක්රියාවලීන් පාලනය කරන්නේ xinetdහා සමගාමීව ක්රියාත්මකවන අභ්යන්තර sshd ක්රියාවලිය. පහත උදාහරණයේ දී මම වරාය 12345 භාවිතා කරමි:

ඔබේ පද්ධතියේ ඇති ඕනෑම නොමිලේ වරාය අංකයකට මෙය වෙනස් කිරීමට ඔබට නිදහස තිබේ. සමහර විට ඉහළ අගයක් නිසා මෙම වරාය "ඉක්මන් වරාය පරිලෝකනය" මඟින් පරිලෝකනය කිරීම තරමක් අපහසු වනු ඇත.

මෙම xinetdවින්යාසය:

service ssh-external
{
    socket_type = stream
    wait = no
    protocol = tcp
    type = UNLISTED
    user = root
    server = /usr/sbin/sshd
    server_args = -i -f  /etc/ssh/external-sshd.config
    port = 12345
    log_on_failure += USERID
}

ගොනුව /etc/ssh/external-ssdh.configඔබගේ සුපුරුදු sshdවින්‍යාසයේ පිටපතක් විය හැකිය. පහත සඳහන් ප්‍රකාශ වින්‍යාස කර ඇති බවට සහතික වන්න:

Port 12345
AddressFamily inet

පොදු යතුරු සත්‍යාපනය බලාත්මක කිරීමට සහ අන්තර්ජාල ප්‍රවේශය සඳහා මුරපද සත්‍යාපනය අක්‍රීය කිරීමට ද මම යෝජනා කරමි:

PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

8

සවන්දීමේ වරායන් ද IP ලිපින සමඟ සම්බන්ධ කළ හැකිය

/ etc / ssh / sshd_config:

ListenAddress 10.10.10.10:22
ListenAddress 20.20.20.20:4444

මෙය පිළිතුරක් නොව අදහස් දැක්වීමක් විය යුතුය.
පැබ්ලෝ පැසොස්

1

මම අදාළ පිළිතුරකින් පැහැදිලි කර ඇති පරිදි , ssh සේවාදායකයා URI ආකෘතිය ලෙස සඳහන් කිරීමට ඉඩ දෙයි ssh://user@host:1234. උදාහරණයක් වශයෙන්:

ssh  ssh://myuser@mydomain.com:2222

2222 යනු වරාය අංකයයි. ඒ වෙනුවට ඔබ භාවිතා කිරීමට අදහස් කරන වරාය අංකය ආදේශ කරන්න. ඇත්ත වශයෙන්ම, නිශ්චිත වරාය ssh සේවාදායකයට සම්බන්ධ වීමට (ඔබ සම්බන්ධ කිරීමට උත්සාහ කරන ධාරකයේ) මුලින් සඳහන් කළ වරායට සවන් දිය යුතු බව මතක තබා ගන්න.


ඔබ භාවිතා කරන්නේ කුමන ssh සේවාදායකයාද? ලිනක්ස් මින්ට්ගේ බාෂ් කවචය මත ක්‍රියා නොකරයි. ඔබ "ssh host -p port" භාවිතා කළ යුතුය.
මාටි ෆ්‍රයිඩ්

1
Ar මාටි ෆ්‍රයිඩ් හායි, ප්‍රතිචාර දැක්වීම ප්‍රමාද වීම ගැන කණගාටුයි. මා භාවිතා OpenSSH_7.7p1 Debian-2, OpenSSL 1.0.2o 27 Mar 2018කරන්නේ ලිනක්ස් මින්ට් භාවිතා කරන්නේ කුමක් දැයි මා නොදන්නා නමුත් මෙම පිටුව community.linuxmint.com/software/view/openssh-client පවසන්නේ එය “අතේ ගෙන යා හැකි ක්‍රියාත්මක කිරීමක්” බැවින් ඇත්ත වශයෙන්ම වෙනස් විය හැකි බවයි.
සර්ජි කොලොඩියාෂ්නි

කිසිම ප්රශ්නයක් නැ. මින්ට් OpenSSH 7.6 උබුන්ටු භාවිතා කරයි, නමුත් මම ඩේබියන් වෙතින් පැච් දකිමි, එබැවින් වෙනස්කම් ගැන මම නොදනිමි. මම OpenSSH BSD man පිටුවට ( man.openbsd.org/ssh ) ඔබේ සබැඳිය අනුගමනය කළ අතර එය මා සතුව ඇති ආකාරයටම පෙනේ. ඉතා නරකයි, එය ftp port පිරිවිතරයට සමාන ආකෘතියක් භාවිතා කරන්නේ නම් හොඳයි.
මාටි ෆ්‍රයිඩ්

මම කුතුහලයෙන් සිටියෙමි, එබැවින් මම තවත් සෙවූ අතර මෙම වෙබ් පිටුව ( linux.die.net/man/1/ssh ) වඩා පැරණි අනුවාදයකින් සොයා ගත් නමුත් එය සමාන බව පෙනේ, නමුත් එය ඔබ භාවිතා කළ ආකෘතිය පෙන්වයි. සිත්ගන්නා සුළුය, නමුත් එහි තේරුම කුමක්දැයි මම නොදනිමි. :-)
මාටි ෆ්‍රයිඩ්

0

පෙරනිමි වරායේ (TCP / 22) ssh ධාවනය කිරීම හොඳ අදහසක් නොවේ, WAN IP 22 සිට LAN IP හි ssh-server භාවිතා කරන ඕනෑම වරායක් වෙත ඉදිරියට නොයනු ඇත.

වඩාත් සාමාන්‍ය අර්ථයෙන් ssh-server සේවාවට සම්බන්ධ වීමට එම වරායට සවන් දිය යුතුය. ඔයාට සිද්ධ වෙනවා

  1. මත සංස්කරණය කරන්න /etc/ssh/sshd_config( මෙම සටහන් ) සිට #Port 22කිරීමට Port 26. එනම්, වරාය වෙනස් කිරීම සහ වෙනස් කිරීම. 42895 වැනි අහඹු ලෙස 26 ට වඩා හොඳ දෙයක් විය හැකිය .
  2. Ssh-server සේවාව නැවත ආරම්භ කරන්න

    sudo systemctl restart sshd.service
    

එවිට ssh-client වෙතින් ඔබට සම්බන්ධ වීමට හැකි වේ

ssh user@serverNameOrIP -p 42895

පාරිතෝෂිකය: mosh

මෝෂ් පැකේජය සේවාදායකයේ ස්ථාපනය කර ඇත්නම් ඔබ භාවිතා කරන්න

mosh --ssh="ssh -p 42895" serverNameOrIP
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.