শুধুমাত্র প্রতি বন্দর 22 নয় গৌণ পোর্ট প্রতিবার চেষ্টা করার জন্য কীভাবে এসএসএস সেট করবেন?


9

লগগুলিতে শব্দ কমাতে এবং আবিষ্কারের সামান্য হ্রাস করার জন্য আমার প্রচেষ্টার অংশ হিসাবে (এবং ফেলফল 2 এর উপরে, কেবলমাত্র পাবলিক কী প্রমাণীকরণের অনুমতি দেয়) আমি নিয়মিত সার্ভারগুলিতে এসএসডি-পোর্টগুলি পরিবর্তিত করি যা আমি আলাদা একটি বন্দরে স্থাপন করি, চলুন এখন 5492 বলি Currently আমি হয় আমার ssh কমান্ড -p 5492 সংযোজন, বা প্রতিটি নির্দিষ্ট সার্ভারের জন্য আমার মধ্যে পোর্ট যুক্ত ssh_config

22 পোর্ট কাজ না করে 22 এবং পোর্ট 5492 উভয়ই সংযোগের চেষ্টা করার জন্য এসএসএস কনফিগার করার কোনও উপায় আছে?


1
আমি অস্পষ্টতার মধ্য দিয়ে সুরক্ষা না দিয়ে, ভিপিএন স্থাপন করা এবং ইন্টারনেটে মোটেও খোলা এসএস পোর্ট না রাখার পরিবর্তে পছন্দ করি।
রুই এফ রিবেইরো

2
@ রুইএফরিবিড়ো আমি সম্মত, এটি আরও সুরক্ষিত নয়। এটি লগ ফাইলগুলিতে শব্দটি কম রাখে। লগইন প্রচেষ্টা হ্রাস করতে সুরক্ষা বাড়ানোর জন্য কেউ পোর্ট নোকিং ব্যবহার করতে পারে।
নেড 64

2
@ রুইএফরিবিয়েরো কি ভিপিএন সার্ভারটি এসএসএইচ সার্ভারের চেয়ে বেশি সুরক্ষিত?
রিলে

এটি সব বাস্তবায়নের উপর নির্ভর করে। আমার আগের চাকরিতে, আমি রিডান্ডেন্সির জন্য 2 ভিপিএন এন্ট্রি সংজ্ঞায়িত করেছি এবং sshবাইরের জন্য উপস্থিতি নেই no
রুই এফ রিবেইরো

2
অস্পষ্টতার দ্বারা সুরক্ষা একটি ভাল সেটআপের শীর্ষে একটি ভাল সংযোজনীয় স্তর, বিশেষত যখন এটি সুবিধাবাদী আক্রমণকারীদের সম্পর্কে।
রেক্যান্ডবোনম্যান

উত্তর:


11

আপনি কাছাকাছি একটি শেল স্ক্রিপ্ট মোড়ানো পারে sshকিন্তু sshনিজেই এটা করতে হবে না।

ব্যাশ ফাংশনটি ব্যবহার করার একটি উপায় হ'ল (এতে লাগানো ~/.bashrc):

function ssh() { command ssh -p 22 "$@" || command ssh -p 5492 "$@"; }

যাইহোক, সিস্টেম পরিষেবাদিগুলির জন্য rootসংরক্ষণযোগ্য বন্দরগুলি ব্যবহার sshকরার পরামর্শ দেওয়া হচ্ছে যাতে ব্যবহারকারীরা কোনও প্রক্রিয়া যাতে শুনতে না পারা যায়, বলুন, 5492 বন্দরটি ব্যবহার করুন। তারা অন্যথায় মাঝখানে মানুষটিকে খেলতে পারে এবং লগইন ডেটা ক্যাপচার করতে পারে। সুতরাং, একটি পোর্ট <1024 ব্যবহার করুন।


1
এটি একটি দুর্দান্ত সমাধান। এছাড়াও বন্দরগুলিতে একটি দুর্দান্ত নোট!
রিলে

5
নোট দ্বিতীয় সংযোগ তৈরি করা হবে প্রথম এক সফল এমনকি যদি যদি কমান্ড দ্বারা সঞ্চালিত sshআয় নন-জিরো। একটি তুচ্ছ উদাহরণ হতে হবে ssh user@server false
কুসালানন্দ

1
@ কুসালানন্দ ধন্যবাদ, আমি এখন লিখেছি command। আপনি ঠিক অনুমান করেছেন বলে কেবল পুনরাবৃত্তি এড়াতে চেয়েছিলেন।
নেড 64

@ কুসালানন্দ উল্লেখ করেছেন যে সমস্যাটি (বেশিরভাগ ক্ষেত্রে) এর নির্দিষ্ট প্রস্থান স্থিতি পরীক্ষা করে এড়ানো যেতে পারে ssh- যদি কোনও ssh ত্রুটি থাকে (রিমোট কমান্ড ব্যর্থ হওয়ার বিপরীতে) থাকে, তবে এটি 255 এর স্থিতি সহ প্রস্থান করবে Thus সুতরাং, command ssh -p 22 "$@"; if [ "$?" -eq 255 ]; then command ssh -p 5492 "$@"; fiকাজ করা উচিত।
গর্ডন ডেভিসন

10

sshউদাহরণস্বরূপ ডকুমেন্টেশন কিছুটা বিরল হলেও Matchডকুমেন্টের মাধ্যমে এটি করতে পারে ssh_config(5)। এই বাক্যটি উপযুক্ত হতে পারে যদি কেউ এসএসএইচ কনফিগারেশনে জটিলতার দিকে ঠেলে দিতে চায় যদিও ssh_config(5)সিনট্যাক্সের সীমাবদ্ধতার দ্বারা সীমাবদ্ধ থাকে এবং কাঙ্ক্ষিত ফলাফলের জন্য কিছুটা ফিডিং লাগতে পারে। উল্লেখযোগ্যভাবে কাস্টম পোর্টটি সেট করা যায় না বা পূর্ববর্তী Matchপ্রচেষ্টা থেকে ভুলভাবে সেট করা যায় । এই কারণেই, নীচে, এটি একবারে ডিফল্টর জন্য পরীক্ষা করা হলে বা একবার সেট করা হয় এবং ক্যানোনিকাল ডিফল্ট স্থাপনের সময় সেট করা হয় না।

# here we set the defaults for the host (no port!)
Match !canonical host testhost
  CanonicalizeHostname yes
  Hostname 192.0.2.42
  IdentityFile ~/.ssh/id_blahblah
  ...
# port available?
Match canonical host 192.0.2.42 exec "is-ssh-up %h 2222"
  Port 2222
# or the default port
Match canonical host 192.0.2.42
  Port 22

is-ssh-up কেবল প্রদত্ত বন্দরে কিছু প্রতিক্রিয়া দেখায় এবং এর মতো দেখতে পারে কিনা তা কেবল পরীক্ষা করে

#!/usr/bin/env expect
package require Tcl 8.5
if {[llength $argv] < 2} {
   puts stderr "Usage: is-ssh-up host port"
   exit 1
}
puts stderr "is-ssh-up: DEBUG trying $argv"
set socket [socket -async [lindex $argv 0] [lindex $argv 1]]
chan event $socket readable [list exit 0]
after 3000 [list exit 1]
vwait godot

1
if-then-অন্যথায় .ssh / কনফিগারেশনে? আমি বিশ্বাস করতাম না !!
আরচেমার

1

~.ssh/configএই তালিকাটি আপনার তালিকায় রেখে আপনি ওয়াইল্ডকার্ড ফাংশনটি ব্যবহার করতে পারেন :

Host *
Port 5492

তবে এটি নিজে থেকে 22 এ ফিরে আসবে না।

আপনি যদি এটিকে শেষে রাখেন, আপনি এখনও তার উপরে অন্য কোনও মান রেখে 22 টি হোস্টের প্রয়োজন হলে সেগুলি ওভাররাইড করতে পারেন। (এবং আপনি সর্বদা এটি কমান্ড লাইনে ওভাররাইড করতে পারেন))

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