আরএসসিএনকি ব্যবহার করার পরে কি আলাদা এসএস পোর্ট নির্দিষ্ট করা সম্ভব?


366

আমি নিম্নলিখিত কমান্ডটি চেষ্টা করছি:

rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path

এসএসএইচ 2222 পোর্টে চলছে, কিন্তু আরএসসিএনসি এখনও 22 বন্দরটি ব্যবহার করার চেষ্টা করে এবং তারপথটি খুঁজে না পাওয়ার বিষয়ে অভিযোগ করে, কারণ এটি উপস্থিত নেই।

আমি জানতে চাই যে কোনও অ-মানক এসএস পোর্টে কোনও দূরবর্তী হোস্টের কাছে আরএসসিএন করা সম্ভব কিনা।

উত্তর:


136

অন্য একটি বিকল্প, আপনি যে হোস্টে আরএসসিএন চালান সেটিতে ssh কনফিগারেশন ফাইলে পোর্টটি সেট করুন, যেমন:

cat ~/.ssh/config
Host host
    Port 2222

তারপরে এসএসসি ওভার এসএসসি 2222 পোর্টে কথা বলবে:

rsync -rvz --progress --remove-sent-files ./dir user@host:/path

21
যদিও এটি সর্বাধিক সুস্পষ্ট উত্তর নয় এটি এখনও খুব ভাল উত্তর। আপনি একাধিকবার বা দু'বারের সাথে সংযুক্ত যে কোনও হোস্টের জন্য এসএসএইচ কনফিগারেশনটি ব্যবহার করা মূল্যবান কারণ এটি আপনাকে অনেক চিন্তাভাবনা এবং টাইপিং সংরক্ষণ করবে।
জন হান্ট

5
প্রকৃতপক্ষে, যদিও এটি ন্যায়সঙ্গত বলে মনে করা হয়, ত্রুটিটি এটি অদৃশ্য হয়ে যায়, অর্থাত্ কিছুক্ষণ পরে কেউ এটি ভুলে যেতে পারে এটি ssh কনফিগারেশন ফাইলটিতে রয়েছে এবং এটি কীভাবে কাজ করে তা বুঝতে পারে না, বা আপনার সহকর্মী কেউ কমান্ডটি অনুলিপি / পেস্ট করতে পারে এবং কেন বুঝতে পারে না এটি তাদের অ্যাকাউন্টে কাজ করে না। তবুও, ব্যক্তিগতভাবে আমি সব সময় পোর্ট নম্বর টাইপ না করা পছন্দ করি।
জোওও কস্তা

1
এটা ভয়াবহ। এটি সম্পূর্ণরূপে পোর্ট ন্যাটিংয়ের সাথে বেমানান। যদি না আপনি একই আইপি ঠিকানার জন্য একাধিক ডিএনএস নাম রাখতে চান, যা রক্ষণাবেক্ষণের সমস্যা
মেফেক্ট করুন

1
@ মেলফেক্ট আপনি কি মজা করছেন? যাকে rsyncঅদ্ভুত বন্দরে অনেকবার দরকার পড়ার জন্য আমি এটিকে সর্বকালের সবচেয়ে বড় জিনিস বলব ততটুকু আমি এটিকে ভয়ঙ্কর বলব না তবে প্রতিটি সময় যেখানে আপনি বাক্যবিন্যাসটি ভুলে গেছেন কেবল সেখানেই যথেষ্ট ছড়িয়ে পড়ে।
Freedom_Ben

1
এটি আপনার পক্ষে সংযোগ স্থাপনের পক্ষে সহজ করে তোলে, হ্যাকারদের পক্ষে এটি আরও সহজ করে তোলে এবং আপনার auth.log আবার স্বয়ংক্রিয় প্রচেষ্টা দ্বারা সজ্জিত হবে। সুতরাং এটি ধরণের voids পোর্ট পরিবর্তন বিন্দু।
forthrin

625

আপনার কমান্ড লাইনের মতো দেখতে হবে:

rsync -rvz -e 'ssh -p 2222' --progress ./dir user@host:/path

এটি দুর্দান্ত কাজ করে - আমি কোনও নতুন ফায়ারওয়াল নিয়মের প্রয়োজন ছাড়াই এটি সর্বদা ব্যবহার করি - কেবল এসএসএইচ কমান্ড নিজেই উদ্ধৃতিতে আবদ্ধ রয়েছে নোট করুন।


8
আমি অবাক হয়েছি কেন এটি এমন - এটি এমন স্পষ্ট প্রয়োজন যা এখনও গোপনীয়, কারণ এটি কার্যকরভাবে এসএসএস বাইনারিতে একটি উপকরণ তৈরি করছে। (যদিও এটি
নির্বিঘ্নে

1
কোলন প্রতীক নিয়ে কাজ করেuser@host:/path
দিমিত্রিসান্ডালভ

23
কমান্ডের মূল অংশটি হ'ল 'ssh -p 2222' যাতে আপনি এটি বিভিন্ন আরএসসিএন প্যারাম দিয়ে ব্যবহার করতে পারেন
ইভান ডোনোভান

2
মনে রাখবেন যে আপনার যদি কোনও ssh কী নির্দিষ্ট করতে হয় তবে আপনি এটি করতে পারেন - যেমন 'ssh -i mykey -p 2222'
dranxo

9
কেন - ফাইল সরানো-ফাইল? যদি উৎস তথ্য বিপদজনক, ভাল এটা উল্লেখ ...
Tiw

14

যখন আপনাকে কোনও নির্দিষ্ট এসএসএইচ পোর্টের মাধ্যমে ফাইলগুলি প্রেরণ করতে হবে:

rsync -azP -e "ssh -p PORT_NUMBER" source destination

উদাহরণ

rsync -azP -e "ssh -p 2121" /path/to/files/source user@remoteip:/path/to/files/destination

3
এবং এটি বিদ্যমান উত্তরটিতে ঠিক কী যুক্ত করে?
ক্রিস মেইস

ফর্ম্যাট এবং উদাহরণ দেখুন। আমি এখানে জিনিস সরল।
টেকি 16

4
ঠিক আছে আপনি দুটি alচ্ছিক বিকল্প অপসারণ করেছেন, তবে সংক্ষেপে আপনার উত্তরটি
গ্রহণীকৃত

2
এটি আরও সরলীকৃত এবং ফর্ম্যাট করা। নতুন শিক্ষার্থীদের পক্ষে বোঝা সহজ। কোনও কারণে বিনা ভোটে ভোট দেওয়ার জন্য ধন্যবাদ
টেকি

13

"ষ্ঠ বিকল্প" ব্যবহার করুন। উদাহরণ:

rsync -avz --rsh='ssh -p3382' root@remote_server_name:/opt/backups

এখানে দেখুন: http://www.linuxquestions.org/questions/linux-software-2/rsync-ssh-on-different-port-448112/


আমার জন্যও কাজ করেছেন! আমি জানি না কেন সর্বাধিক ভোট দেওয়া উত্তর কার্যকর হয় না ...
ch271828n

আমার জন্যও কাজ করেছেন! আমার "--র্ষ" কীওয়ার্ডটি দরকার ছিল
তাইউ লী

2

কিছুটা অফটোপিক তবে কাউকে সাহায্য করতে পারে। আপনার যদি পাসওয়ার্ড এবং পোর্ট পাস করার প্রয়োজন হয় তবে আমি sshpassপ্যাকেজটি ব্যবহার করার পরামর্শ দিচ্ছি । কমান্ড লাইন কমান্ডটি দেখতে এটির মতো হবে: sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' root@192.xx.xxx.xxx:/dir_on_host/


প্রোটোকল দুর্নীতিগ্রস্থ হয়ে ডেটা স্ট্রিমের সাথে কীবোর্ড-ইন্টারেক্টিভ গণ্ডগোলের কারণে এটি কাজ করে না।
Evi1M4chine

2

আমি মাইক হাইক হোস্টেলারের সাইটে এই সমাধানটি পেয়েছি যা আমার জন্য পুরোপুরি কাজ করেছিল।

# rsync -avz -e "ssh -p $portNumber" user@remoteip:/path/to/files/ /local/path/

3
এবং এটি বিদ্যমান উত্তরটিতে ঠিক কী যুক্ত করে?
ক্রিস ময়েস 16

ভাল এক পুরোপুরি কাজ করে। ধন্যবাদ :)
সম্মু সুন্দর

2

সঠিক বাক্য গঠনটি রাইকিঙ্ককে একটি কাস্টম এসএসএইচ কমান্ড (অ্যাডিং -p 2222) ব্যবহার করতে বলা হয়েছে, যা এসএসএইচ ব্যবহার করে দূরবর্তী দিকে সুরক্ষিত টানেল তৈরি করে, তারপরে লোকালহোস্টের মাধ্যমে সংযুক্ত: 873

rsync -rvz --progress --remove-sent-ফাইল -e "ssh -p 2222" ./dir ব্যবহারকারী @ হোস্ট / পাথ

রাইকিঙ্কটি টিসিপি পোর্ট 873 এ ডেমন হিসাবে চালিত, যা নিরাপদ নয়।

রাইকি্যান ম্যান থেকে:

পুশ করুন: আরএসসিএন [অপশন ...] এসআরসি ... [ব্যবহারকারী @] হোস্ট: ডিএসটি

যা এই চেষ্টা করতে লোককে বিভ্রান্ত করে:

rsync -rvz --progress --remove-sent-ফাইল ./dir ব্যবহারকারী @ হোস্ট: 2222 / পথ

তবে, এটি 2222 পোর্টে Rsync ডেমনের সাথে সংযোগ স্থাপনের নির্দেশ দিচ্ছে , যা সেখানে নেই।


অন্যান্য উত্তরগুলি 873 পোর্টের উল্লেখ করেনি
কেভিনফ

প্রশ্নটি কীভাবে এটি 2222 পোর্টের ওপরে ssh হিসাবে চালিত করা যায়; আরএসআইএনসি দরকার কিনা তা আলাদা গল্প।
ড্যান স্টেইনগার্ট

@ ড্যানস্টেইনার্ট আমি উত্তরটি আপডেট করেছি, এটি এখন আরও সাহায্য করে?
কেভিনফ

-3

আমি অন্য একটি বন্দরে এসএসএসের মাধ্যমে সংযোগ স্থাপনের জন্য আরএসআইএনসি পেতে সক্ষম হইনি, তবে আমি আইপিটিবলের মাধ্যমে যে কম্পিউটারটি চেয়েছিলাম তার সাথে এসএসএস সংযোগটি পুনর্নির্দেশ করতে সক্ষম হয়েছি। এটি যে সমাধানটি আমি সন্ধান করছিলাম তা নয়, তবে এটি আমার সমস্যার সমাধান করেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.