HostName
কমান্ড লাইনে ssh কনফিগারেশন থেকে একটির আইপি পুনরুদ্ধার করার কি সহজ উপায় আছে ? অনেক সময় আমাকে ব্যবহার করতে হয় scp
এবং একটি মেশিনে সংযোগ করতে চাই, তবে আমি কেবল হোস্টনামের কথা মনে করি।
HostName
কমান্ড লাইনে ssh কনফিগারেশন থেকে একটির আইপি পুনরুদ্ধার করার কি সহজ উপায় আছে ? অনেক সময় আমাকে ব্যবহার করতে হয় scp
এবং একটি মেশিনে সংযোগ করতে চাই, তবে আমি কেবল হোস্টনামের কথা মনে করি।
উত্তর:
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/
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 }')
এটি করার দরকার নেইscp
, তবে আপনি ssh
ডিবাগিং ট্রেস ব্যবহার করতে পারেন ।
ssh -v HostName ' ' 2>&1 | grep '^debug1: Connecting to'
সাধারণত, আপনি করতে পারেন host HostName
এবং আপনি আইপি ঠিকানা পাবেন।
যদি host
ইনস্টল না করা থাকে (এটি হওয়া উচিত) তবে আপনি ব্যবহার করতে পারেন nslookup HostName 8.8.8.8
যা গুগল ডিএনএস সার্ভারগুলি ব্যবহার করতে পারে ।
এই জিনিসগুলি করতে, আপনার মেশিনের সমাধানকারীটির একটি সঠিক কনফিগারেশন থাকতে হবে (ফাইল /etc/resolv.conf এবং সম্ভবত /etc/nsswitch.conf এ) অথবা আপনাকে একটি "সম্পূর্ণ যোগ্যতাসম্পন্ন ডোমেন নাম" ব্যবহার করতে হবে, হোস্ট সহ সম্পূর্ণ, ডোমাইন এবং "টিএলডি" (.org, .com,। নেট যে ধরণের প্রত্যয়)।
~/.ssh/config
, যা আমি এই প্রশ্নের মূল বিষয় হতে পেরেছি।
HostName
একটি স্বেচ্ছাসেবী নাম, ডোমেন নাম নয়।
একটি বোগাস প্রক্সিকম্যান্ড ব্যবহার করুন ...
$ ssh -o 'ProxyCommand echo %h>&2' mYaLiAs 2>&1 | fgrep -v ssh_exchange_id | read actual
$ echo $actual
192.168.1.234
.ssh/config
এবং পড়তে হবে/etc/ssh/ssh_config
। কনফিগে সংজ্ঞাযুক্ত উপকরণগুলি দিয়ে আপনি স্ক্রিপ করতে পারবেন না এমন কোনও কারণ আছে?