SFTP மூலம் scp: உண்மையில் தீர்க்கப்படும் தொலைப் பாதைகளை எழுதுதல்
நவீன scp SFTP மூலம் மாற்றுகிறது, எனவே டில்டே விரிவாக்கமும் வைல்ட்கார்டுகளும் வேறுவிதமாக செயல்படும். தெளிவான சேவையகப் பாதைகளை எழுதி நெறிமுறையை வேண்டுமென்றே தேர்ந்தெடுக்கவும்.
பல ஆண்டுகளாக ஸ்கிரிப்ட்டில் வேலை செய்த scp கட்டளை தற்போதைய கிளையண்டில் சுரங்கப்பாதையுடன் எந்த தொடர்பும் இல்லாத பாதை பிழையுடன் தோல்வியடையலாம். VPN பைட்டுகளைக் கொண்டு சென்றது; சேவையகம் தீர்க்க முடியாத பெயரை கிளையண்ட் சேவையகத்திடம் கேட்டது. தற்போதைய OpenSSH scp இயல்பாக SFTP மூலம் மாற்றுகிறது, SFTP பழைய நெறிமுறையைப் போல ஷெல்-பாணி விரிவாக்கம் செய்யாது. உங்கள் சொந்த கணக்கிலிருந்து கட்டளையை வெளிப்புறமாகப் பின்தொடர்வது பாதை உண்மையில் எங்கு விளக்கப்படுகிறது என்பதைக் காட்டுகிறது.
கணக்கிலிருந்து தொடங்குங்கள், பின்னர் அது எழுதக்கூடிய அடைவிலிருந்து
கோலன் இரண்டு பெயர்வெளிகளைப் பிரிக்கிறது, இடது பக்கம் மட்டுமே நீங்கள் தட்டச்சு செய்யும் இயந்திரத்திற்குரியது. அதற்குப் பிறகு அனைத்தையும் சேவையகம் தீர்க்கிறது, நீங்கள் அங்கீகரித்த கணக்கின் கீழ், அந்தக் கணக்கிற்கு உள்ள கோப்பு அமைப்பு பார்வையின் உள்ளே. கட்டளையை உருவாக்கும் முன் இரண்டையும் உறுதிப்படுத்துங்கள், ஏனெனில் நிர்வாகிக்கு சரியான பாதை பரிமாற்றப் பயனருக்கு தானாகவே சரியானதல்ல. அந்த வேறுபாடே நெட்வொர்க் கோளாறுகள் போலத் தோன்றும் பெரும்பாலான அனுமதி பிழைகளின் மூலம்.
சேவையகத்திடம் அதன் சொந்தப் பார்வையைக் கேளுங்கள்: ssh [email protected] pwd மற்றும் ssh [email protected] ls -ld /srv/archive. இரண்டாவது கட்டளை அனுமதி மறுக்கப்பட்டதாகத் தெரிவித்தால், சுரங்கப்பாதை நன்றாக உள்ளது, அந்தக் கணக்கிற்கு பாதை பயன்படுத்த முடியாதது. பரிமாற்றம் தொடர அனுமதிகளை விரிவுபடுத்துவதற்குப் பதிலாக உரிமையைச் சரிசெய்யுங்கள் அல்லது வேறு இலக்கைத் தேர்ந்தெடுங்கள்.
கட்டுப்படுத்தப்பட்ட SFTP அமைப்பு chroot-ஐ கோப்பு அமைப்பின் வேர்க்கட்டமாக வழங்கலாம். அந்தப் பார்வையின் உள்ளே ஒரு முழுமையான பாதை chroot-க்குள் முழுமையானது, அது நிர்வாகி ஹோஸ்ட்டில் பார்க்கும் அதே இடம் அல்ல.
கோலனின் இரு பக்கங்களையும் வெளிப்படையாகப் பெயரிடுங்கள்
பதிவேற்றம் தொலைக் கோப்புப் பெயரைக் குறிப்பிட வேண்டும், உள்ளூர் அடிப்படைப் பெயர் மறுபக்கத்தில் ஏற்கப்படும் என்று கருதுவதற்குப் பதிலாக.
scp q3-invoice.csv [email protected]:/home/transfer/drop/q3-invoice.csvபதிவிறக்கம் அதே காரணத்திற்காக உள்ளூர் இலக்கைக் குறிப்பிட வேண்டும். இரு பெயர்வெளிகளும் சுயாதீனமானவை, அவை பொருந்தும் என்று கருதும் ஸ்கிரிப்ட் தொலை மரம் வேறு அமைப்பைப் பயன்படுத்தும் முதல் முறையிலேயே உடையும்.
scp [email protected]:/srv/archive/2026-q3.csv ./2026-q3.csvபராமரிக்கப்படும் ஸ்கிரிப்ட்டில் ~otheruser தவிர்க்கவும். மற்றொரு கணக்கின் வீட்டு அடைவை விரிவாக்குவது தொலை ஷெல் அம்சமாக இருந்தது, SFTP சேவையகம் அதைப் பின்பற்றும் நீட்டிப்பைச் செயல்படுத்தாமல் இருக்கலாம். கணக்கு உண்மையில் திறக்கக்கூடிய முழுமையான பாதையை எழுதுங்கள், இடைவெளிகள் உள்ள உள்ளூர் பாதைகளை சேவையகத்தின் ஷெல்லுக்காக எழுதப்பட்ட மேற்கோள் அடுக்குகளை நகலெடுப்பதற்குப் பதிலாக மேற்கோள்களில் வைக்கவும்.
உங்கள் scp உண்மையில் எந்த நெறிமுறையைப் பயன்படுத்துகிறது என்பதை அறியுங்கள்
OpenSSH 9.0 முதல் கிளையண்ட் இயல்பாக SFTP பயன்படுத்துகிறது, விநியோகங்கள் அந்த நடத்தையை தங்கள் சொந்த அட்டவணையின்படி ஏற்கின்றன அல்லது பின்னோக்கி இணைக்கின்றன. பதிப்பு சரம் கிளையண்ட் என்ன நினைக்கிறது என்பதைக் கூறுகிறது, ஆனால் விற்பனையாளர் கட்டுமானம் upstream-இலிருந்து வேறுபடலாம், எனவே நீங்கள் உண்மையில் இயக்கும் கிளையண்டைச் சரிபார்க்கவும்: ssh -V.
இரு நெறிமுறைகளும் பெயர்களை வெவ்வேறு வழிகளில் தீர்க்கின்றன. பழைய SCP தொலைப் பயனர் ஷெல்லைப் பாதையை விரிவாக்கச் சொல்கிறது, எனவே வைல்ட்கார்டுகளையும் டில்டேக்களையும் அந்த ஷெல் அதன் சொந்த விதிகளுடன் கையாளுகிறது. SFTP அதற்குப் பதிலாகக் கோப்புப் பரிமாற்றச் செயல்பாடுகளை வெளியிடுகிறது, எனவே வைல்ட்கார்ட் கிளையண்டால் விரிவாக்கப்படுகிறது அல்லது முற்றிலும் விரிவாக்கப்படுவதில்லை. இரண்டும் SSH-க்குள் ஒரே இயந்திரத்திற்குச் செல்கின்றன, அதனால்தான் ஒரு ஹோஸ்ட் இரு கிளையண்டுகளின் கீழ் வெவ்வேறாக நடந்துகொள்ளலாம்.
scp -v கோரும் துணைமுறைமையை அச்சிடுகிறது, sftp துணைமுறைமை வரி நவீன பாதை பயன்பாட்டில் இருப்பதை உறுதிப்படுத்துகிறது. scp -O ஆதரிக்கப்படும் மற்றும் உண்மையில் தேவைப்படும் இடத்தில் பழைய நெறிமுறையை வலுக்கட்டாயமாக்குகிறது, அதன் சொந்த மேற்கோள் விதிகளையும் திரும்பக் கொண்டு வருகிறது. இது VPN விருப்பம் அல்ல, சேவையகத்தில் எதையாவது இயக்கும் வழி அல்ல, ஹோஸ்ட் விசை சரிபார்ப்பைத் தளர்த்துவதற்கான காரணமும் அல்ல.
ஸ்கிரிப்ட் அதைச் சார்ந்திருப்பதற்கு முன் பாதையைச் சோதிக்கவும்
பாதைச் சிக்கல் மிக மோசமான நேரத்தில், இரவில் யாரும் பார்க்காத தானியங்கி வேலையில் வெளிப்படுகிறது. முதலில் சிறிய கோப்பு மற்றும் வேலை பயன்படுத்தும் சரியான கணக்கைக் கொண்டு இலக்கை நிரூபிக்கவும், அந்தச் சோதனைக் கட்டளையை வேலையின் வரையறைக்கு அருகில் வைக்கவும். சோதனைக்கு வேறு கணக்கு அல்லது வேறு அடைவு தேவைப்பட்டால், வேலைக்கும் தேவைப்படும்.
சேவையகப் பக்கத்தையும் சரிபார்க்கவும். grep -i subsystem /etc/ssh/sshd_config SFTP துணைமுறைமை அமைக்கப்பட்டுள்ளதா என்பதைக் காட்டுகிறது, sftp -b /dev/null [email protected] அந்தத் துணைமுறைமை பதிலளிக்கும்போது மட்டுமே வெற்றிகரமாக வெளியேறுகிறது. SSH உள்நுழைவுகளை ஏற்கும் ஆனால் துணைமுறைமை இல்லாத ஹோஸ்ட் உள்நுழைவுச் சோதனையில் முற்றிலும் ஆரோக்கியமாகத் தோன்றினாலும் ஒவ்வொரு நவீனப் பரிமாற்றத்திலும் தோல்வியடைகிறது.
கிளையண்ட் பதிப்பு, பயன்பாட்டில் உள்ள நெறிமுறை மற்றும் முழுமையான தொலைப் பாதையை வேலைக் குறிப்புகளில் பதிவு செய்யவும். அடுத்த மேம்படுத்தல் இயல்புநிலையை மாற்றும்போது, அந்தக் குறிப்பே ஐந்து நிமிடத் திருத்தத்திற்கும் ஊகங்கள் நிறைந்த மதியத்திற்கும் இடையிலான வேறுபாடு.