22 ছাড়া অন্য কোনও বন্দরে কীভাবে এসএসএইচ করবেন


149

একই রাউটারের পিছনে আমার দুটি কম্পিউটার রয়েছে। আসুন তাদের ক এবং বি কল করুন।

একটি নিম্নলিখিত পদ্ধতিতে এস এস এইচ থেকে বি করতে পারেন: ssh usr@<internal ip of computer>

বি একই কাজ করে এসএসএইচ করতে পারে তবে বাহ্যিক আইপি অবশ্যই ব্যবহার করা উচিত। আমি আমার রাউটারের 22 নম্বর পোর্টটি কম্পিউটার এপির আইপিতে ফরোয়ার্ড করেছি, যাতে আমার কাছে সমস্ত কিছু বোধগম্য হয়।

যাইহোক, আমি কম্পিউটারের জন্য 26, এবং এসএসএইচ উভয়ই বাহ্যিক আইপি ব্যবহার করে নেটওয়ার্কের বাইরে থেকে এসএসএইচ পোর্ট ফরওয়ার্ড করতে চাই, তবে কোন কম্পিউটারটি ব্যবহার করতে হবে তা কার্যকরভাবে নির্বাচন করতে 22 বা 26 পোর্টকে নির্দিষ্ট করে নির্দিষ্ট করতে চাই।

আমি iptablesবি এর এ এবং ইনপুট এর OUTPUT এর মাধ্যমে 26 পোর্টকে অনুমতি দেওয়ার চেষ্টা করেছি , তবে এটি কাজ করে বলে মনে হয় না। আমি পোর্ট 26 বি এর অভ্যন্তরীণ আইপিতে (রাউটারের মাধ্যমে) ফরোয়ার্ড করেছি, যেমন আমি 22 এর সাথে এ করেছি did

আমি যখন বাহ্যিক আইপি এবং পোর্ট 26 ব্যবহার করে এ থেকে বি এসএসএইচ করার চেষ্টা করি তখন আমি যা পাই তা এখানে:

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

সংস্করণ:

  • এ = ওপেনএসএইচ_5.9 পি 1 দেবিয়ান -5 বুন্টু 1, ওপেনএসএসএল 1.0.1 14 মার্চ 2012
  • বি = ওপেনএসএসএইচ_6.0 পি 1 দেবিয়ান -4, ওপেনএসএসএল 1.0.1 সি 10 মে 2012

এটির 12.04 উবুন্টু রয়েছে, বি রাস্পবিয়ান সহ রাস্পবেরি পাই।

সম্পাদনা করুন: কিছু যে আমি রাখা ভুলে গেছি: আমি, SSH কনফিগ ফাইল (আমি দেখেছি এটা পরিবর্তন করে চেষ্টা হয়নি /etc/ssh/ssh_config) আমি uncommented (মুছে #) সঙ্গে সঙ্গতিপূর্ণ Portএবং পরিবর্তন 22করার 26। এটি আমাকে সংযোগটি অস্বীকার করে বার্তা দেয় নি। (আমি কোনও উপকারে পৌঁছালাম না))


আপনি কি ইউএস ওহভে এসএসএইচটি দ্বিতীয় মেশিনে 22 বা 26 পোর্টে চলছেন?
নেরডেস্টেস্ট

1
মনে রাখবেন যে / etc / ssh / ssh_config হ'ল ssh ক্লায়েন্ট কনফিগারেশন। যেখানে / etc / ssh / sshd_config হ'ল ssh ডিমন কনফিগারেশন।
স্টেকান্ডারস্কোর

উত্তর:


45

দেখে মনে হচ্ছে আপনি দ্বিতীয় মেশিনে 26 পোর্টে এসএসএইচ চালাচ্ছেন না। আপনি এই মেশিনে পোর্ট নম্বরটি 26 এ পরিবর্তন করতে পারেন।

হয় সম্পাদনা করুন /etc/ssh/sshd_configএবং এসএসএইচ পুনরায় চালু করতে ভুলবেন না বা এটি 22 এ রেখে দিন, তবে রাউটারের 26 পোর্টটি দ্বিতীয় মেশিনে 22 পোর্টে ফরোয়ার্ড করুন। এছাড়াও, সংযোগগুলির মাধ্যমে দ্বিতীয় মেশিনে কোনও ফায়ারওয়াল সেটিংস পরিবর্তন করতে ভুলবেন না।


আহ্ ... তাই sshd_config অবশ্যই পরিবর্তন করা উচিত, ssh_config না?
গ্যারি

2
সঠিক। sshd হ'ল পরিষেবা (d ডিমন জন্য)। কনফিগারেশন ফাইলটি সম্পাদনা করুন (sudo gedit সহ), তারপরে পরিষেবাটি "sudo পরিষেবা ssh পুনঃসূচনা" দিয়ে পুনরায় চালু করুন।
নর্দফেস্ট

2
সমস্যার সমাধান. কোন ফায়ারওয়াল সেটিংস পরিবর্তন করতে হবে না।
গ্যারি

369

আপনি যদি লিনাক্স সিস্টেমে থাকেন এবং আপনি 26 পোর্টের একটি এসএসএইচ সার্ভারের সাথে সংযোগ স্থাপন করতে চান তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

ssh user@192.168.1.1 -p 26

বিঃদ্রঃ:

  1. আপনার সার্ভারের আইপি ঠিকানা বা ডিএনএস নাম দিয়ে সার্ভার আইপি প্রতিস্থাপন করুন।
  2. আপনার সেট হিসাবে আপনার পোর্ট নম্বর পরিবর্তন করুন।
  3. আপনি যদি কাস্টম পোর্ট এসএসএইচ ব্যবহার করছেন তবে একই পোর্টটি বহির্মুখী, ফায়ারওয়ালে ইনবাউন্ড সংযোগের জন্য অনুমোদিত অন্যথায় সংযোগটি প্রতিষ্ঠিত হবে না

17
এটিকে সঠিক হিসাবে চিহ্নিত করা উচিত।
কেনে_

1
আমি সম্মত এই সঠিক উত্তর। এই এক সহজ এবং বিন্দু যায়।
m4l490n

1
@ গ্রেরি এটিকে সঠিক হিসাবে চিহ্নিত করুন
দুঃখের কবিতা

7
না এটি সঠিক উত্তর নয়। পছন্দসই বন্দরটি না শুনে ওমনকে সমস্যা হয়েছিল OP তিনি স্পষ্টতই এসএসএইচ সার্ভার এবং / অথবা NAT কনফিগারেশনে সহায়তা চেয়েছিলেন, তবে বর্তমান উত্তরটি মূল পোস্টটিকে উপেক্ষা করে এবং ইতিমধ্যে ওপিতে পরিচিত ক্লায়েন্ট কমান্ড বিকল্পটি বর্ণনা করে। আমি উত্তর দিচ্ছি কীভাবে এই উত্তরটি এতগুলি উত্সাহ পেল।
nnovich-OK

2
এটি সংখ্যাগরিষ্ঠের পক্ষে সঠিক, তবে এটি ওপি-র সমস্যার ক্ষেত্রে সঠিক নয়।
অতিস্বনক

9

আমি পোর্ট 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

7

শোনার পোর্টগুলিও আইপি ঠিকানার সাথে যুক্ত হতে পারে

জন্য / etc / SSH / sshd_config:

ListenAddress 10.10.10.10:22
ListenAddress 20.20.20.20:4444

এটি একটি উত্তর নয় একটি মন্তব্য হওয়া উচিত।
পাবলো পাজোস

1

আমি যেমন সম্পর্কিত উত্তরে ব্যাখ্যা করেছি , ssh ক্লায়েন্টটি ইউআরআই ফর্ম্যাট হিসাবে নির্দিষ্ট করার অনুমতি দেয় ssh://user@host:1234। উদাহরণ স্বরূপ:

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

যেখানে 2222 পোর্ট নম্বর। পরিবর্তে আপনি যে পোর্ট নম্বরটি ব্যবহার করতে চান তা প্রতিস্থাপন করুন। অবশ্যই মনে রাখবেন যে নির্দিষ্ট পোর্ট ssh সার্ভারের সাথে সংযোগ স্থাপন করতে (যে হোস্টটিতে আপনি সংযোগের চেষ্টা করছেন) প্রথমে নির্দিষ্ট বন্দরটিতে শুনতে হবে


0

ডিফল্ট পোর্টে (টিসিপি / ২২) এসএসএস চালানো ভাল ধারণা নয়, ডাব্লুআইএন আইপি 22 থেকে ল্যান আইপিতে এসএসএস-সার্ভার ব্যবহার করা যাই হোক না কেন তা এগিয়ে নেই।

আরও সাধারণ অর্থে ssh- সার্ভারের সাথে সংযোগ স্থাপনের জন্য সেই বন্দরে শোনা উচিত। তোমাকে করতেই হবে

  1. অন সম্পাদনা করুন /etc/ssh/sshd_config( নোট থেকে) #Port 22থেকে Port 26। অর্থাত্, বন্দরটি পরিবর্তনহীন করুন এবং পরিবর্তন করুন। সম্ভবত 268 এর চেয়ে বেশি ভাল এলোমেলোভাবে উপরে কিছু হবে 42895 এর মতো।
  2. Ssh- সার্ভার পরিষেবা পুনরায় চালু করুন

    sudo systemctl restart sshd.service
    

তারপরে ssh- ক্লায়েন্ট থেকে আপনি সংযোগ করতে সক্ষম হবেন

ssh user@serverNameOrIP -p 42895

বোনাস: mosh

যদি মশ প্যাকেজটি সার্ভারে ইনস্টল করা থাকে তবে আপনি ব্যবহার করুন

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