কীভাবে একটি এসএসএস হোস্টনামের আইপি খুঁজে পাবেন


10

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


1
scp আপনার .ssh/configএবং পড়তে হবে /etc/ssh/ssh_config। কনফিগে সংজ্ঞাযুক্ত উপকরণগুলি দিয়ে আপনি স্ক্রিপ করতে পারবেন না এমন কোনও কারণ আছে?
টিম কেনেডি

আপনার উত্তর হিসাবে এটি যুক্ত করা উচিত। আমি মনে করি যখন আমি প্রথমে চেষ্টা করেছিলাম, আমি কী বা কিছু সরবরাহ করি নি, তাই এটি হোস্টকে স্বীকৃতি দেয় না।
m33lky

উত্তরের জন্য কিছুটা হালকা মনে হয়েছিল, তবে আমি এটি যুক্ত করেছি। পাশাপাশি আমি কিছু আকর্ষণীয় ssh কনফিগার সম্পর্কিত রিডিং হিসাবে বিবেচনা করি।
টিম কেনেডি

উত্তর:


2

scp আপনার ~/.ssh/configএবং পড়তে হবে /etc/ssh/ssh_config। যতক্ষণ আপনি আপনার ssh কনফিগারেশনে হোস্ট এ্যালিয়াসের নাম থেকে / এড়িয়ে যান, এটি কাজ করা উচিত।

যেহেতু এটি উত্তর হিসাবে সংক্ষিপ্ত আকারের মনে হয়, তাই আপনার এসএসএস কনফিগারেশনের সাথে আপনি যা করতে পারেন সেগুলি সম্পর্কে এখানে আরও কিছু তথ্য ...

এখানে একটি পোস্ট যা ssh কনফিগারেশন ফাইলের কয়েকটি উন্নত বৈশিষ্ট্য বর্ণনা করে: http://magazine.redhat.com/2007/11/27/advanced-ssh-configration-and-uneneling-we-dont-need-no- দুর্গন্ধযুক্ত-VPN-সফটওয়্যার /

কোনও HTTP প্রক্সি দিয়ে ssh / scp টানেল করা দরকার? কোনও সমস্যা নেই, কেবল এখানে বর্ণিত পদক্ষেপগুলি ব্যবহার করুন: http://www.mtu.net/~engstrom/ssh-proxy.php

প্রক্সিকম্যান্ড বিকল্পের আরেকটি ব্যবহার: http://jasonmc.wordpress.com/2008/04/16/ssh-magic/


1
সংক্ষিপ্ত থেকে পয়েন্ট উত্তর দুর্দান্ত। অন্যথায় বিষয় ছাড়াই সহজ। যে কেউ টানেলিং করছে সেটিকে শাটল দেখে নেওয়া উচিত ।
m33lky

9

hostকমান্ড লাইনে ssh_config hostnameএন্ট্রিতে প্রদত্ত যুক্তি থেকে মানচিত্রটি sshনিজেই ব্যবহার করা সহজ ।

আপনি এটি কমান্ড লাইনের কনফিগারেশনের জন্য কী কী ব্যবহার করবে তা মূল্যায়ন করতে এবং মুদ্রণ করতে বলতে চাইতে পারেন, আসলে সংযোগ ছাড়াই। তারপরে আপনাকে কেবল এটির জন্য কী তালিকা রয়েছে তা টেনে আনা দরকার hostname(নোট করুন যে এটি কনফিগারেশনের মূল নামগুলিকে লোয়ার কেসে রূপান্তর করে ক্যানোনিকালাইজেশন করে)। একটি সাধারণ উদাহরণ:

ssh -G database | awk '/^hostname / { print $2 }'

.Ssh / কনফিগারেশনে থাকলে:

Host database
Hostname database.example.com

এটি প্রিন্ট আউট হবে database.example.com

এটি পিং করার জন্য, আপনি অবশ্যই আউটপুট মূল্যায়ন করতে পারেন এবং এটি একটি আর্গুমেন্ট হিসাবে ব্যবহার করতে পারেন:

ping $(ssh -G database | awk '/^hostname / { print $2 }')

2
এটা জিনিস। দুর্দান্ত উত্তর!
হাইজিয়ান


1

সাধারণত, আপনি করতে পারেন host HostNameএবং আপনি আইপি ঠিকানা পাবেন।

যদি hostইনস্টল না করা থাকে (এটি হওয়া উচিত) তবে আপনি ব্যবহার করতে পারেন nslookup HostName 8.8.8.8যা গুগল ডিএনএস সার্ভারগুলি ব্যবহার করতে পারে ।

এই জিনিসগুলি করতে, আপনার মেশিনের সমাধানকারীটির একটি সঠিক কনফিগারেশন থাকতে হবে (ফাইল /etc/resolv.conf এবং সম্ভবত /etc/nsswitch.conf এ) অথবা আপনাকে একটি "সম্পূর্ণ যোগ্যতাসম্পন্ন ডোমেন নাম" ব্যবহার করতে হবে, হোস্ট সহ সম্পূর্ণ, ডোমাইন এবং "টিএলডি" (.org, .com,। নেট যে ধরণের প্রত্যয়)।


3
এটি হোস্টের মতো উপাধিতে সন্ধান করবে না ~/.ssh/config, যা আমি এই প্রশ্নের মূল বিষয় হতে পেরেছি।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

হাহা, আমি এটাও লক্ষ্য করেছি। ssh এর HostNameএকটি স্বেচ্ছাসেবী নাম, ডোমেন নাম নয়।
m33lky

মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
টেরডন

0

একটি বোগাস প্রক্সিকম্যান্ড ব্যবহার করুন ...

$ ssh -o 'ProxyCommand echo %h>&2' mYaLiAs 2>&1 | fgrep -v ssh_exchange_id |  read actual
$ echo $actual
192.168.1.234
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.