আমি কীভাবে বর্তমান সংযোগের বর্তমান এসএসএস প্রোটোকল সংস্করণটি খুঁজে পেতে পারি?


35

আমি একটি লিনাক্স মেশিনে সংযুক্ত (সেন্টোস 6.4) ব্যবহার পুটি। আমি এক ধরণের প্রোটোকল ব্যবহারের জন্য পুট্টি সেট করতে পারি তা ছাড়া, আমি কীভাবে বর্তমানের এসএসএস সংযোগ সংস্করণটি (এসএসএইচ 1 বা এসএসএইচ 2) খুঁজে পাব?


আপনি ইতিমধ্যে কী গবেষণা করেছেন তা দেখাতে এটি সহায়তা করতে পারে
ড্রু খুরি

@ ড্র্রুখুরি আমি এর উত্তর খুঁজে পেতে কেবল গুগল দিয়ে চেষ্টা করেছি তবে এর সাথে কোনও ফলাফল পাওয়া যায়নি। কেউ কীভাবে বর্তমান সংযোগ (ব্যবহারে) প্রোটোকল (ssh1 বা ssh2) দেখতে পাবে তা ব্যাখ্যা করে না।
কোডিয়াক

উত্তর:


46

আপনি একবার এলে বলুন:

ssh -v localhost

এটি আপনাকে সার্ভারের সঠিক সংস্করণটি বলবে।


4
দেখে মনে হয় না এটি বর্তমান সংযোগের ধরণটি দেখায়।
কোডিয়াক

18

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

হিসাবে cstamas প্রস্তাব আপনি ব্যবহার করতে পারেন ssh -v localhostআপনি কেবল মোড বাগাড়ম্বরপূর্ণ উপর আপনার স্ব 127.0.0.1 থেকে SSH, যা অগ্রগতির বার্তা ডিবাগ প্রদর্শন করা হবে। হ্যাঁ এই প্রক্রিয়াটির মাধ্যমে আপনি যোগাযোগের শীর্ষটি দেখতে পারেন এবং আপনি বর্তমানে চালিত এসএসএইচ সংস্করণটি পেতে পারেন।

তবে আপনি ssh manপৃষ্ঠাটি পড়লে আপনি -Vএসএসএসের বিকল্পটি আরও দরকারী। Ssh ম্যান পৃষ্ঠাটি বের করা হয়েছে :

-V সংস্করণ নম্বর প্রদর্শন করুন এবং প্রস্থান করুন।

-v ভার্বোজ মোড। Ssh এর অগ্রগতি সম্পর্কে ডিবাগিং বার্তাগুলি মুদ্রণের কারণ ঘটায়। এটি ডিবাগিং সংযোগ, প্রমাণীকরণ এবং কনফিগারেশন সমস্যার ক্ষেত্রে সহায়ক। একাধিক -v বিকল্পগুলি ভার্বোসিটি বাড়ায়। সর্বোচ্চ 3।

সুতরাং আমি মনে করি কেবল কিছু করা ssh -Vএবং এর মতো কিছু পাওয়া ভাল better

> ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

আশাকরি এটা সাহায্য করবে.


2
এটি প্রোগ্রামটির সংস্করণ , কোনও সংযোগের জন্য ব্যবহৃত প্রোটোকল নয়। 3 বছরের পূর্বের উত্তরটি সঠিকভাবে ব্যাখ্যা করার সাথে সাথে, একই প্রোগ্রামটি কনফিগারেশনের উপর নির্ভর করে এসএসএইচ 1 এবং এসএসএইচ 2 প্রোটোকল উভয়ই সমর্থন করতে পারে।
dave_thompson_085 9

11

পুটি ইন সেশন, লগিংয়ে "এসএসএইচ প্যাকেট এবং কাঁচা ডেটা" রেডিও বোতামটি নির্বাচন করুন। আপনার পছন্দসই জায়গায় putty.log হিসাবে লগ ফাইলটি নির্বাচন করুন। সংযোগ তৈরি করুন। তোমার দেখা উচিত:

Event Log: Server version: SSH-2.0-OpenSSH_5.3
Event Log: Using SSH protocol version 2

এসএসএইচ -২.০ এর অর্থ কী তা বিশদ জানতে নীচে দেখুন।

অন্যান্য পদ্ধতি আপনি টেলনেট ক্লায়েন্ট ব্যবহার করার চেষ্টা করতে পারেন তবে পোর্ট 22 তে নির্দেশ করতে পারেন:

telnet test1 22

আপনি সংযোগ করার সময় আপনি দেখতে পাবেন:

192.168.144.145 চেষ্টা করে ... পরীক্ষার সাথে সংযুক্ত to পালানোর চরিত্রটি '^]'। Ssh-2.0-OpenSSH_5.3

শেষ লাইনটি সন্ধান করার জন্য:

SSH-2.0-OpenSSH_5.3

যদি এটি বলে SSH-2.0তবে এটি ভাল, আপনি যে সংযুক্ত এসএসএস সার্ভারটি সংযুক্ত করেছেন কেবলমাত্র এসএসএইচ প্রোটোকল সংস্করণ ২ সমর্থন করে SS

তবে আপনি যদি দেখতে পান:

Ssh-1.99-OpenSSH_5.3

তারপর তার মানে যে সার্ভার শেষ এখনো SSL প্রোটোকল সংস্করণ 1. সমর্থন করছে এটা এর ভালো কিছু হয়েছে sshd_configফাইল:

Protocol 1,2

প্রোটোকল 1 দুর্বল এবং এটি ব্যবহার করা উচিত নয়।

সুতরাং যে সোজা পেতে। আপনি যদি রিমোট সার্ভারের 22 পোর্টে টেলনেট করে SSH-2 দেখেন তবে সার্ভার প্রোটোকল 1 সমর্থন না করে আপনি কেবল ssh প্রোটোকল সংস্করণ 2 ব্যবহার করতে পারবেন।

উপরের সিষ্টামার উত্তর অনুসারে, -v পতাকাটি একটি লাইন প্রদর্শন করবে:

debug1: Remote protocol version 1.99, remote software version OpenSSH_5.3

বা:

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3

আপনি version 2.0সেখানে দেখতে চান ।


4

আপনি আপনার স্থানীয় মেশিন থেকে নেটকাট ব্যবহার করে এটি খুব দ্রুত পেতে পারেন, উদাহরণস্বরূপ:

$ nc [IP_ADDRESS] 22
SSH-2.0-OpenSSH_5.3

3

আমি এটি আরও ভাল পছন্দ করি:

$ echo ~ | nc localhost 22
SSH-1.99-OpenSSH_3.9p1
Protocol mismatch.
$

এখানে সুবিধাটি হ'ল সংযোগটি উন্মুক্ত না হওয়ায় এটি প্রোগ্রামক্রমে করা যেতে পারে। পাইথনের জন্য, চেষ্টা করুন:

ssh_protocol = float(re.search(r"SSH-(\d.\d+)").group(1))

0

আমি যে পদ্ধতিটি সম্পর্কে অবগত রয়েছি তার জন্য প্রয়োজন যে এসএসএস লগ এন্ট্রিগুলি দেখার যথেষ্ট সুযোগ রয়েছে /var/log/auth.log

$ echo $SSH_CONNECTION 
127.0.0.1 12375 127.0.0.1 22

SSH_CONNECTIONভেরিয়েবলের প্রথম এবং দ্বিতীয় ক্ষেত্রগুলি আমার সংযোগের উত্স আইপি এবং উত্স পোর্ট নির্দেশ করে। grepএই মানগুলিতে বাই -করে /var/log/auth.log, আমি যখন আমার এসএসএস সংযোগটি প্রমাণীকরণ করা হয়েছিল তখন থেকে লগ এন্ট্রিটি সন্ধান করতে পারি।

$ sudo grep -F ' from 127.0.0.1 port 12375 ' /var/log/auth.log | grep ssh
Jun 26 16:29:52 morton sshd[20895]: Accepted keyboard-interactive/pam for jim from 127.0.0.1 port 12375 ssh2

এই লগ এন্ট্রি আমাকে বলে যে আমার বর্তমান সংযোগটি ssh2 প্রোটোকল ব্যবহার করছে। অবশ্যই, যদি ssh অধিবেশন বেশ কয়েক দিন ধরে খোলা থাকে, লগ এন্ট্রি /var/log/auth.log.0বা কোনও পুরানো auth.logফাইল হতে পারে ।

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