මම SSH හරහා පද්ධතියකට පුරනය වී ඇත්නම්, වෙනත් පර්යන්තයක් හෝ තිර සැසියකට වෙඩි තබා scp හෝ ඒ හා සමාන දෙයක් නොකර හෝ දුරස්ථ පද්ධතියෙන් SSH නොකර නැවත මගේ දේශීය පද්ධතියට ගොනුවක් පිටපත් කිරීමට ක්රමයක් තිබේද? දේශීය පද්ධතිය?
මම SSH හරහා පද්ධතියකට පුරනය වී ඇත්නම්, වෙනත් පර්යන්තයක් හෝ තිර සැසියකට වෙඩි තබා scp හෝ ඒ හා සමාන දෙයක් නොකර හෝ දුරස්ථ පද්ධතියෙන් SSH නොකර නැවත මගේ දේශීය පද්ධතියට ගොනුවක් පිටපත් කිරීමට ක්රමයක් තිබේද? දේශීය පද්ධතිය?
Answers:
ඔබ කල්තියා සැලසුම් කරන්නේ නම් එය පහසුම ය.
පළමු වරට ප්රධාන සම්බන්ධතාවයක් විවෘත කරන්න. පසුකාලීන සම්බන්ධතා සඳහා, පවතින ප්රධාන සම්බන්ධතාවය හරහා වහල් සම්බන්ධතා මාර්ග කරන්න. ඔබගේ ~/.ssh/config
, ස්වයංක්රීයව සිදුවීමට සම්බන්ධතා බෙදාගැනීම සකසන්න:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
පවත්නා සම්බන්ධතාවයක් ලෙස ඔබ එකම (පරිශීලක, වරාය, යන්ත්රය) සඳහා ssh සැසියක් ආරම්භ කරන්නේ නම්, දෙවන සැසිය පළමු වරට උමං කරනු ලැබේ. දෙවන සම්බන්ධතාවය ස්ථාපනය කිරීම සඳහා නව සත්යාපනයක් අවශ්ය නොවන අතර එය ඉතා වේගවත් වේ.
එබැවින් ඔබේ ක්රියාකාරී සම්බන්ධතාවය තිබියදී ඔබට ඉක්මනින් කළ හැකිය:
scp
හෝ සමඟ ගොනුවක් පිටපත් කරන්න rsync
;පවතින සම්බන්ධතාවයකදී, ඔබට ප්රතිලෝම ssh උමගක් ස්ථාපිත කළ හැකිය. -R 22042:localhost:22
Ssh විධාන රේඛාවේදී, 22042 යනු අහඹු ලෙස තෝරාගත් අංකයක් වන දුරස්ථ යන්ත්රයේ වෙනත් ඕනෑම වරාය අංකයකට වඩා වෙනස්ව දුරස්ථ ඉදිරියට යැවීමක් සාදන්න. එවිට ssh -p 22042 localhost
දුරස්ථ පරිගණකයේ ඔබ මූලාශ්රය යන්ත්රය නැවත සම්බන්ධ; scp -P 22042 foo localhost:
ගොනු පිටපත් කිරීමට ඔබට භාවිතා කළ හැකිය .
ඔබට මෙය තවදුරටත් ස්වයංක්රීය කළ හැකිය RemoteForward 22042 localhost:22
. මෙහි ඇති ගැටළුව නම්, ඔබ එකම පරිගණකයට ssh අවස්ථා කිහිපයක් සමඟ සම්බන්ධ වන්නේ නම් හෝ වෙනත් අයෙකු වරාය භාවිතා කරන්නේ නම්, ඔබට ඉදිරියට යැවීම නොලැබේ.
ඔබ මුල සිටම දුරස්ථ ඉදිරියට යැවීම සක්රීය කර නොමැති නම්, ඔබට එය දැනට පවතින ssh සැසියකදී කළ හැකිය. වර්ගය Enter ~C
Enter -R 22042:localhost:22
Enter. වැඩි විස්තර සඳහා අත්පොතේ “අක්ෂර ගැලවීම” බලන්න.
මෙම සර්වර් ෆෝල්ට් ත්රෙඩ් එකේ රසවත් තොරතුරු කිහිපයක් ද තිබේ .
ගොනුව කුඩා නම්, ඔබට එය ටයිප් කර ටර්මිනල් ප්රතිදානයෙන් පිටපත් කළ හැකිය. ගොනුවේ මුද්රණය කළ නොහැකි අක්ෂර තිබේ නම්, base64 වැනි කේතන ක්රමයක් භාවිතා කරන්න .
remote.example.net $ base64 <myfile (ප්රතිදානය පිටපත් කරන්න)
local.example.net $ base64 -d> myfile ( ක්ලිප්බෝඩ් අන්තර්ගතය අලවන්න)Ctrl +D
වඩාත් පහසු ලෙස, ඔබට එක්ස් ෆෝවර්ඩින් සක්රිය නම්, දුරස්ථ යන්ත්රයේ ගොනුව පිටපත් කර එය දේශීයව අලවන්න. ඔබ හා පිට නල දත්ත හැකි xclip
හෝ xsel
. ඔබට ගොනුවේ නම සහ පාර-දත්ත සුරැකීමට අවශ්ය නම්, සංරක්ෂිතයක් පිටපත් කරන්න.
remote.example.net$ tar -czf - myfile | xsel
local.example.net$ xsel | tar -xzf -
තවත් (IMO) පහසු ක්රමයක් වනුයේ:
# to remote host
cat localfile.conf | ssh user@hostname 'cat -> /tmp/remotefile.conf'
# from remote host
ssh user@hostname 'cat /tmp/remotefile.conf' > /tmp/localfile.conf
නැතහොත් ඔබ GUI වැනි දෙයක් කැමති නම්, මිඩ්නයිට් කමාන්ඩර් උත්සාහ කරන්න . ඔවුන් ෂෙල්-ලින්ක් යන අංගය හඳුන්වයි . බොහෝ ඩිස්ට්රෝ වල පැකේජ පද්ධති තුළ ඒවා mc
ඇත.
mc
භාවිතා කිරීමට ඉක්මන් වේ.
tgz
ලිපිගොනු සමඟ කරමි :)
පැනීමේ අක්ෂරය හරහා ( ~
පෙරනිමියෙන්) SSH විධාන කිහිපයකට සහය දක්වයි :
$ ~?
Supported escape sequences:
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)
$ ~C
ssh> help
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
-KR[bind_address:]port Cancel remote forward
!args Execute local command
මෙම !args
ඔබට අවශ්ය දේ කිරීමට සමීපතම බව පෙනේ. විධාන වැඩ කිරීම සඳහා PermitLocalCommand
ඔබේ /etc/ssh_config
ගොනුවේ සක්රීය කර තිබිය යුතු බව සලකන්න ~C
(බලන්න man ssh_config
).
ඔබ ControlMaster
in එකක් සකසන්නේ නම් ඔබට එකම ssh සැසිය නැවත භාවිතා කළ හැකිය ssh_config
. ඔබ මෙය කරන්නේ නම්:
$ ~C
ssh> !scp file user@myserver:
ඔබ තාක්ෂණිකව කිසි විටෙකත් ssh සැසියෙන් ඉවත් වී නැති අතර නැවත සත්යාපනය කිරීමට අවශ්ය නොවේ. ඔබ කැමති ප්රමාණයට වඩා සංකීර්ණ විය හැකි නමුත් මට වෙනත් පහසු ක්රමයක් ගැන සිතිය නොහැක.
!args
උදව් පණිවිඩයේ සොයාගත නොහැකි විය.
args
පළමු සහාය පණිවුඩය නොවන ( ~?
), නමුත් දෙවන (එක් ඇතුල් වූ පසු ssh>
සමග කඩිනම් ~C
එක් ටයිප් කළ හැක help
දී ssh>
කඩිනම්)
ඒවා සියල්ලම ඉතා සංකීර්ණ ක්රම වේ.
ඔබගේ දේශීය යන්ත්රය මත දුරස්ථ ගොනු පද්ධතිය සවි කළ හැකිය sshfs
:
mkdir -p /mnt/sshfs
root@IS1300:~# sshfs 192.168.1.2:/ /mnt/sshfs
root@IS1300:~# umount /mnt/sshfs
එවිට ඔබට ගොනුව නාටිලස්, ග්නෝම්, කොන්කෙරර්, ඩොල්ෆින්, බාෂ් හෝ වෙනත් ඕනෑම දෙයකින් පිටපත් කළ හැකිය.
sshfs -oIdentityFile=~/.ssh/keyfile.pem user@192.168.1.2:/ /mnt/sshfs/
-R
කිරීම සඳහා ආපසු හරවන්න ( , දුරස්ථ සිට දේශීය දක්වා) හෝ ඉදිරියට ( -L
, දේශීය සිට දුරස්ථව) වරායන්.නමුත් මේ කිසිවක් ඇත්ත වශයෙන්ම අවශ්ය නොවේ, IMO. SSH ප්රොටෝකෝලය තනි සම්බන්ධතාවයකින් බහු නාලිකා සඳහා සහය දක්වන අතර OpenSSH සේවාදායකයා බහුකාර්යකරණයට සහය දක්වයි. ඔබ උපකල්පනය ControlMaster
සහ ControlPath
පිහිටුවීමට ( ControlPersist
ද ප්රයෝජනවත් වේ),
# පළමු සම්බන්ධතාවය sh ssh දුරස්ථ # මුල් ssh විවෘත කළ එකම සම්බන්ධතාවයට වඩා බහුකාර්යයක් වනු ඇත ft sftp දුරස්ථ
ඊටත් වඩා සරල ප්රවේශයක්: ෆයිල්සිලා (හෝ ඔබේ ප්රියතම ftp බ්රව්සරය) විවෘත කරන්න, එකම වෙබ් අඩවියට ssh සම්බන්ධතාවයක් විවෘත කරන්න, ගොනුව සොයාගෙන එය ඔබේ දේශීය ගොනු ව්යුහයට ඇදගෙන යන්න. ඔබ ෆයිල්සිලා වෙත අලුත් නම්, ඊළඟ වතාවේ වේගයෙන් නැවත සම්බන්ධ වීමට "අඩවි කළමනාකරු" විශේෂාංගය භාවිතා කරන්න.
ඔව්, මෙය ඔබගෙන් බොහෝ දෙනෙකුට පැහැදිලිව පෙනෙන බව මම දනිමි (නමුත් හරියටම කාරණය නොවේ), නමුත් පර්යන්තයට පමණක් විසඳුමක් සෙවීම සඳහා මෙම නූල සොයාගත් සමහරු (මා වැනි) පැහැදිලිවම නොසලකා හැර ඇත.
ssh://SERVER
.
හොඳම හා වඩාත්ම කාර්යක්ෂම විසඳුම ලෙස මා සොයාගෙන ඇත්තේ භාවිතා කිරීම xclip-copyfile
සහ xclip-pastefile
.
සේවාදායකයේ, ඔබ xclip-copyfile
ගොනු එකක් හෝ කිහිපයක් පිටපත් කිරීමට භාවිතා කරයි. මෙම ලිපිගොනු ඔබගේ දේශීය සේවාදායකයෙන් ලබා ගත හැකිය. එහිදී ඔබට භාවිතා කළ හැකිය xclip-pastefile
.
මෙය scp
දේශීය ssh සේවාදායකයක් භාවිතා කිරීමේ අවශ්යතාවය මග හැරේ . මම මෙය සිග්වින් සමඟ භාවිතා කරමි. එකම ගැටළුව xclip
නම් ඔබට දැනටමත් එය නොමැති නම් ස්ථාපනය කිරීම අවශ්ය වේ . ඔහ්, මෙය ද්විමය ලිපිගොනු සමඟද ක්රියා කරයි.
අපි SecureCRT භාවිතා කිරීමට බොහෝ හේතු වලින් එකක් - ප්රායෝගිකව විවෘත මූලාශ්ර මෘදුකාංග වලට වැඩි කැමැත්තක් දැක්වුවද - ගොනු මාරු කිරීමේ පහසුව. එෆ් / ඕඑස්එස් ලෝකයේ සෘජු ආදේශනයක් නොමැත.
SecureCRT 1990 දශකයේ මැද භාගයේදී පිරිසිදු වින්ඩෝස් වැඩසටහනක් ලෙස ආරම්භ වූ නමුත් මීට වසර කිහිපයකට පෙර මැක් ඕඑස් එක්ස් සහ ලිනක්ස් වෙත ගෙන යන ලදී .
ඔබ SSH කැමති පද්ධතියකට සහ ඉන් පිටත ලිපිගොනු මාරු කිරීම සඳහා SecureCRT හි ප්රධාන අංග තුනක් ඇත:
ZModem , YModem , XModem , Kermit සහ ASCII - SecureCRT යනු පැරණි පාසල් ආකාරයේ ටර්මිනල් ඉමියුලේටරයකි.
භාවිතා කිරීමට පහසුම වන්නේ ZModem ය. ඔබ sz file-to-download
දුරස්ථ විධාන රේඛාවේ යමක් ටයිප් කරන විට , දුරස්ථ sz
වැඩසටහන මඟින් ගැලවීමේ අනුක්රමයක් ලියන අතර එය file-to-download
සුපුරුදු බාගත නාමාවලියට බාගත කිරීම වහාම ආරම්භ කරන ලෙස SecureCRT ට පවසයි .
හොඳ ස්පර්ශයක් නම් බාගැනීම් නාමාවලිය එක් සැසියකට අභිමතකරණය කළ හැකි වීමයි. අපගේ ප්රධාන කාර්යාල ගොනු සේවාදායකයේ එක් එක් වෙබ් අඩවි නාමාවලි තබා ගැනීමට අපි මෙය භාවිතා කරන්නෙමු, එබැවින් බාගත කළ ගොනු අතින් වර්ග කිරීමට අපට අවශ්ය නැත.
( පැකේජයේ sz
කොටසක් වන "යවන්න ZModem" වැඩසටහනයි lrzsz
. එය දැනටමත් බොහෝ යුනික්සි පද්ධති සඳහා ඇසුරුම් කර ඇත. කිසියම් හේතුවක් නිසා ඔබේ දුරස්ථ පද්ධතිය දැනටමත් ස්ථාපනය කර නොමැති නම් සහ ඔබට පහසුවෙන් ද්විමය පැකේජයක් ස්ථාපනය කළ නොහැකි නම්, ප්රභවය පැකේජය කුඩා හා ඉතා අතේ ගෙන යා හැකි ය. වරක් වඩා, මම යැවීමට තිබුනා lrzsz
"sharchive" හෝ uuencode
'' ඈ ටාබෝල ) ZModem එය ගොනු මට හැකි පරිදි, හෙලුවැලි දුරස්ථ පද්ධතියක් වෙත.
SFTP - SecureCRT හි තදින් ඒකාබද්ධ වූ මූලික SFTP ක්රියාත්මක කිරීමක් ඇත.
“තදින් ඒකාබද්ධ කිරීමෙන්” මම අදහස් කරන්නේ ඔබ SFTP මෙනු විධානය හෝ යතුරුපුවරු කෙටිමඟ ලබා දෙන විට, එය එකම SSH සම්බන්ධතාවය හරහා දුරස්ථ අඩවියට සම්බන්ධ නව ටැබ් එකක් විවෘත කරන බවයි. මේ අනුව, ඔබට නැවත පුරනය වීමට අවශ්ය නොවන අතර, ඔබ එකම සේවාදායකයට වෙනම SFTP සම්බන්ධතාවයක් විවෘත කර ඇත්නම් වඩා සම්බන්ධතාවය තරමක් වේගයෙන් ස්ථාපිත වේ.
මම SFTP විශේෂාංගය "මූලික" ලෙස නිරූපණය කරමි, මන්ද වැන්ඩික් මෘදුකාංගයට වෙනම ගොනු හුවමාරු නිෂ්පාදනයක් වන SecureFX ඇත. එය සාදන ලද SFTP සේවාදායකයාට වඩා විශේෂාංගයක් වන අතර SecureCRT සමඟ ඒකාබද්ධ වේ.
SecureCRT හි SFTP විශේෂාංගය මඟින් ZModem වින්යාසයෙන් වෙන්ව ඇති පෙරනිමි දුරස්ථ හා දේශීය නාමාවලි වින්යාස කිරීමට ඔබට ඉඩ සලසයි.
මෙම SFTP විශේෂාංගයට මූලික විධාන රේඛා වර්ග අතුරුමුහුණතක් ඇත, එය OpenSSH හි sftp
වැඩසටහන අනුකරණය කරයි , හැර Tabවිධාන සම්පූර්ණ කිරීම වැනි වියදම් ඇත. මේ අනුව, දුරස්ථ ගොනුවක් ලබා ගැනීම somefile.tar.gz
තරම් පහසු විය හැකිය get so
TabEnter.
ඇදගෙන යාම - ඔබ ගොනුවක් පර්යන්ත කවුළුව වෙතට ඇදගෙන ගියහොත්, එය ස්වයංක්රීයව rz
ඔබ වෙනුවෙන් ටයිප් කර ගොනුව යැවීමට පටන් ගනී.
විකල්පයක් ලෙස, ඔබට SFTP පටිත්තක් විවෘත කර SFTP හරහා යැවීමට ගොනුවක් එම ටැබයට දමන්න. මේ අනුව, දුරස්ථ පද්ධතියකට ගොනුවක් යැවීම Alt-P, ඇදගෙන යාම , වැටීම තරම් සරල විය හැකිය .
SFTP හරහා මාරුවීම් බොහෝ වේගයෙන් සිදුවන බව අපට පෙනී යයි, බොහෝ විට එය TCP මත පදනම් වූ ප්රොටෝකෝලයක් නිසා, එය නවීන TCP / IP තොගවල විශාල ස්ලයිඩින් කවුළුවලින් ප්රතිලාභ ලබයි . ZModem නිර්මාණය කර ඇත්තේ 64 kiB බ්ලොක් ප්රමාණයක් "විශාල" ලෙස සලකන දිනවලය. මේ අනුව, සබැඳියක විභව වේගය විශාල ප්රමාණයක් ZModem හි පොඟවා ඇති අතර සෑම අවසානයක්ම වාරණ හුවමාරු පිළිගැනීම් සඳහා බලා සිටී.
ඇදගෙන යාමේ ක්රියාකාරිත්වයේ එක් හොඳ දෙයක් නම්, එය ZModem භාවිතා කිරීමෙන් එක් ආතතියක් ඉවත් කිරීමයි. ඔබ rz
දුරස්ථ පද්ධතියේ ටයිප් කරන විට, SecureCRT ස්වයංක්රීයව ගොනු පිකර් එකක් මතු කරයි. දුරස්ථ පැත්ත අවසන් වීමට පෙර ගොනුව සොයා ගැනීමට සහ තේරීමට ඔබට විනාඩියක් පමණ තිබේ. මෙය ප්රසන්න නොවන ඔරලෝසුවකට එරෙහි තරඟයක් නිර්මාණය කරයි. ඇදගෙන යාම මඟින් ඔබේ විවේකයේදී ගොනුව සොයා ගැනීමට ඉඩ සලසයි, ඉන්පසු මූසිකයේ එක් ඉක්මන් චලිතයකින් මාරුවීම ආරම්භ කරන්න.
පැහැදිලි rz
විධානයකින් මාරුවීම ආරම්භ කරමින් අපි තවමත් අත්පොත ක්රමය භාවිතා කරමු . මෙයට හේතුව, එක් එක් සැසිවාරයට උඩුගත කිරීමේ නාමාවලියක් වින්යාස කිරීමට SecureCRT ඔබට ඉඩ සලසයි, එය ගොනු සේවාදායකයේ ඇති ෆෝල්ඩරය වෙත යොමු කරන අතර එමඟින් සෑම විටම දුරස්ථ වෙබ් අඩවිය ක්රියාත්මක වන මෘදුකාංගයේ නවතම ගොඩනැගීම අඩංගු වේ. එවැනි මාරුවීම් සඳහා, ඔරලෝසුවට එරෙහිව තරඟයක් නොමැත, මන්ද ගොනු තේරීම ආරම්භ කිරීමට නිවැරදි ස්ථානයේ විවෘත වේ.
scp file.foo user@myclient.com:file.foo
: P